그래픽 컴포넌트 스크립팅
이 참조 문서는 스크립팅에서 지원되는 그래픽 구성요소와 그 주요 속성 및 메서드를 개괄합니다.
Altium Designer 스크립트에서 사용할 수 있는 시각적 폼 구성요소는 대부분 Embarcadero의 Visual Component Library(VCL)에서 파생되며, VCL은 Delphi 및 C++ 언어로 Windows 애플리케이션을 개발하기 위한 정의된 시각적 구성요소들의 모음입니다.
시각적 클래스 라이브러리로 개발된 VCL 클래스는 선형 객체 계층에서 TComponent 객체(자체가 TObject 루트 객체의 하위)로부터 파생됩니다. 따라서 TButton 객체와 같은 일반적인 스크립트 구성요소는 상위 객체로부터 속성, 메서드, 이벤트를 상속받습니다. 이 경우 클래스 계층은 다음과 같습니다: TObject → TPersistent → TComponent → TControl → TWinControl → TButtonControl → TButton.
TControl 객체에서 파생되는 구성요소는 일반적으로 시각적 구성요소(컨트롤)이며, TWinControl에서 파생되는 일반 구성요소는 대부분 Windows API를 감싸는 래퍼(wrapper)라는 점에 유의하십시오.
► VCL 아키텍처와 구성요소 개요는 Embarcadero RAD Studio VCL을 참조하십시오.
Altium Designer Script Editor에서 Form을 만들 때 구성요소는 Tool Palette 패널에서 접근합니다. Script Form에는 폼의 구성, 구성요소 위치 및 기타 속성의 세부 정보를 포함하는 연관 *.DFM 파일이 있으며, 이 파일은 스크립트 프로젝트의 호스트 폴더에서 찾을 수 있습니다. Altium Designer는 Script Form을 설계할 때 DelphiScript 또는 VBScript 중 하나로 구성요소를 사용할 수 있도록 허용합니다.

Tool Palette Panel에는 스크립트 Form에 드롭할 수 있는 분류된 시각적 컨트롤이 포함되어 있습니다.
Tool Palette panel에는 Script Form에 배치할 수 있는 구성요소의 분류된 선택 항목이 포함되어 있습니다. 사용 가능한 구성요소는 Tool Palette 패널의 확장 가능한 섹션으로 구성되며, Standard, Additional, Win32, System, Dialogs, Altium Standard, Instrument Controls로 분류됩니다.
Palette에서 사용할 수 있는 구성요소(또는 ‘컨트롤’)는 스크립트 폼에서 사용될 때 시각적 구성요소이며, 즉 사용자가 컨트롤을 보고 런타임에 상호작용할 수도 있음을 의미합니다. 모든 컨트롤에는 외형의 측면을 설명하는 속성, 메서드, 이벤트가 있으며, 예를 들어 컨트롤의 위치 속성, 컨트롤을 그리거나 이동하는 메서드, 사용자 동작에 반응하는 이벤트 등이 있습니다.
속성과 이벤트는 현재 선택된 폼 구성요소(폼 자체 포함)에 대해 Object Inspector panel에서 사용할 수 있습니다. 메서드는 해당 구성요소가 지원하는 프로시저와 함수입니다.
Script Forms 개요
Script Forms
Script Form은 스크립트에서 기본 사용자 인터페이스이지만, 대화상자, 보조 창 등 다른 폼도 있습니다. 새 Script Form을 만들려면 Altium Designer에서 프로젝트를 연 상태로 File » New » Script » Script Form를 선택하거나, Script 프로젝트 이름을 우클릭하고 Add New to Project » Script Form를 선택하십시오. VBScript 언어가 활성화되어 있으면 이 명령은 VB Script와 Delphi Script 모두에서 사용할 수 있습니다.
새 Script Form은 기본값으로 Form1 폼 이름으로 나타나며, Object Inspector 패널에서 Misc 아래의 Name 속성을 통해 변경할 수 있습니다. Script form 이름은 프로젝트 내에서 고유해야 합니다.
스크립트 Form을 설계할 때는 하단 상태 표시줄의 Script button에서 Object Inspector Panel을 여십시오.
빈 폼은 기본적으로 컨트롤을 추가할 수 있는 시각적 창입니다. 다이얼로그와 패널은 서로 다른 유형의 폼이며, 기본적으로 폼에는 다음과 같은 표준 창 기능이 포함됩니다:
- Controls
- 최소화 및 최대화 버튼
- 제목 표시줄
- 테두리 드래그로 크기 조절 가능
이러한 기능과 기타 사용 가능한 폼 속성은 설계 시점에 Object Inspector 패널을 사용하여 변경할 수 있습니다. Script Form은 VCL 구성요소이므로 다음 세 가지 항목을 가집니다:
- Properties – 객체의 가시적 동작 또는 동작 방식에 영향을 주는 특성. 예를 들어
Visibleproperty는 객체가 스크립트 폼에서 보일 수 있는지 여부를 결정합니다. - Events – 스크립트가 감지하는 동작 또는 발생. 스크립트는 각 이벤트 핸들러에 대한 코드를 포함해야 하며, 이는 마우스 클릭과 같은 특정 이벤트를 포착하도록 설계됩니다.
- Methods – 객체(이 경우 구성요소 객체)와 연관된 스크립트 프로시저로, 그 동작을 정의합니다.
► 폼 기반 스크립트 개발의 기본 가이드는 Writing Scripts를 참조하십시오.
폼 속성, 메서드 및 이벤트
Tool Palette 패널의 컨트롤은 Embarcadero Visual Component Library(VCL)를 기반으로 합니다. Form 구성요소(TForm)의 메서드, 속성, 이벤트에 대한 전체 세부 정보는 Embarcadero VCL 문서를 참조하십시오.
TForm 속성
기본 스크립트 폼인 TForm 구성요소 객체에 대해 사용 가능한 Properties는 다음 방법으로 볼 수 있습니다:
- Object Inspector Panel을 통해 – 편집기의 Form 보기(Form tab 선택)에서 폼 본문을 클릭하고 Object Inspector's Properties tab을 선택합니다.
시각적 구성요소 객체만 패널에 표시된다는 점에 유의하십시오. 백그라운드에서 동작하는 비시각적 객체는 폼에 표시되지 않습니다.
- 코드 자동 완성 기능 사용 – 편집기의 Code 보기(Code tab 선택)에서 컨텍스트에 민감한 Code Completion 창이 객체 이름에 대한 모든 코드 옵션을 표시합니다.
Form 객체의 경우 TForm.를 입력(마침표 포함)하여 창을 활성화합니다. 원하는 속성의 첫 몇 글자를 입력해 검색 범위를 좁히십시오. 속성과 메서드가 모두 표시됩니다.
- TForm Properties reference page의 Embarcadero 참조 문서에서 확인합니다.
TForm 메서드
TForm 구성요소 객체에 대해 사용 가능한 Methods는 다음 방법으로 볼 수 있습니다:
- 코드 자동 완성 기능 사용 – 편집기의 Code 보기에서 구성요소 이름 뒤에 마침표를 입력합니다. Code Completion 창이 열리며 객체 이름에 대한 코드 메서드(및 속성)를 표시합니다. 코드 창은 Crtl+Space 단축키로 수동 활성화할 수도 있습니다.
- TForm Methods reference page의 Embarcadero 참조 문서를 참조하십시오. 이는 상속된 모든 Methods를 보여주지만, 해당 옵션은 해제할 수 있습니다.
TForm 이벤트
TForm 구성요소 객체에 대해 사용 가능한 Events는 다음 방법으로 볼 수 있습니다:
- Object Inspector Panel – 편집기의 Form 보기에서 폼 본문을 클릭하고 Object Inspector의 Events tab을 선택합니다.
- TFrom Events reference page의 Embarcadero 참조 문서.
구성요소 속성, 이벤트 및 메서드
Tool Palette 패널의 컨트롤은 Embarcadero Visual Component Library(VCL)를 기반으로 합니다. 대부분의 구성요소에 대한 메서드, 속성, 이벤트의 전체 세부 정보는 Embarcadero VCL 문서의 구성요소 카테고리를 참조하십시오. Tool Palette의 일부 구성요소 유형, 특히 Altium Instrument Controls는 Altium Designer 전용이며 Embarcadero 참조 문서에는 포함되지 않습니다.





