VBScript 양식 컴포넌트 사용
VBScript 양식에서 컴포넌트 사용하기
폼과 컴포넌트는 Embarcadero Delphi™의 Visual Component Library(VCL)를 기반으로 하지만, Altium Designer에서는 Delphi 기반의
컴포넌트 개요
스크립팅 시스템은 시각적 컴포넌트와 비시각적 컴포넌트, 두 가지 유형의 컴포넌트를 처리합니다. 시각적 컴포넌트는 사용자 인터페이스를 구축하는 데 사용되며, 비시각적 컴포넌트는 TimerOpenDialogMainMenuTimerButtonEditMemo
두 유형의 컴포넌트 모두 설계 시점에 표시되지만, 비시각적 컴포넌트는 런타임에는 표시되지 않습니다.
- 속성
- 이벤트
- 메서드
A Visible
'이벤트'
A
모든 스크립트 폼에는 하나 이상의 컴포넌트가 있습니다. 컴포넌트는 일반적으로 정보를 표시하거나 사용자가 작업을 수행할 수 있게 해줍니다. 예를 들어, 라벨(Label)은 정적 텍스트를 표시하는 데 사용되고, 편집 상자(Edit box)는 사용자가 데이터를 입력할 수 있게 하며, 버튼(Button)은 작업을 시작하는 데 사용할 수 있습니다.
폼에는 컴포넌트를 자유롭게 조합하여 배치할 수 있으며, 이를 통해 스크립트 실행 중(런타임)에 사용자가 해당 컴포넌트와 상호 작용할 수 있습니다. 사용자가 버튼을 클릭하거나 편집 상자의 텍스트를 변경할 때 어떤 동작이 일어날지는 스크립트 프로그래머가 결정해야 합니다.
스크립팅 시스템은 스크립트를 위한 단순하거나 복잡한 사용자 인터페이스를 생성할 수 있는 다양한 컴포넌트를 제공합니다. 폼에 배치할 수 있는 모든 컴포넌트는 도구 팔레트 Panel에서 찾을 수 있습니다.
폼에 컴포넌트를 배치하려면
기본 위치와 너비·높이로 배치된 컴포넌트는 마우스를 사용하거나
스크립트 폼 설계
스크립트 폼은 Altium Designer 환경 내에서 사용자와 상호 작용하도록 설계되었습니다. 스크립트 폼 설계는 Altium Designer의 시각적 개발의 핵심입니다.
스크립트 폼에 배치된 각 컴포넌트와 설정된 모든 속성은 폼을 설명하는 파일( *.dfm*.vbs*.vbs*.dfm
스크립트 폼과 그 컴포넌트를 다룰 때, Caption
새 스크립트 폼 만들기
스크립트 프로젝트를 연 상태에서, EditScript1.vbs *.PrjPCB
스크립트 양식 표시
스크립트에는 Altium Designer에서 스크립트 양식이 실행될 때 양식을 표시하는 루틴이 포함되어야 합니다. 이 루틴 내에서 양식에 대해 ShowModalVisibleShowModal
ShowModal 예제
Sub RunDialog DialogForm.ShowModal End Sub
위의 ShowModalRunDialogDialogFormDialogForm.ShowModal
아래에 ModalResultmrOkmrCancelShowModal
sub bOKButtonClick(Sender) ModalResult := mrOK end sub sub bCancelButtonClick(Sender) ModalResult := mrCancel end sub sub RunShowModalExample 'Form Visible property must be false for ShowModal to work properly. If Form.ShowModal = mrOk Then ShowMessage("mrOk") If Form.ShowModal = mrCancel Then ShowMessage("mrCancel") end sub
위와 동일한 결과를 얻으려면 ModalResultmrOkmrCancelCloseModalResult
폼의 ModalResultSender.Cancel := TrueCancelButtonClick
사용자 입력 수락
사용자의 입력을 받을 수 있는 일반적인 컴포넌트 중 하나는 EditBoxEditBox
아래 예제는 사용자가 편집 상자에 텍스트를 입력한 후 버튼을 클릭하면 어떤 일이 발생하는지 보여줍니다. 사용자가 편집 컴포넌트에 텍스트를 입력하지 않은 경우, 이벤트 핸들러는 경고 메시지를 표시한다는 점에 유의하십시오.
sub TScriptForm.ButtonClick(Sender) If Edit1.Text = "" Then ShowMessage("Warning - empty input!") Exit End ' do something else for the input End sub
사용자는
이벤트에 대응하기
사용자가 양식이나 컴포넌트를 선택하면, Altium Designer는 스크립팅 시스템에 메시지를 전송하며, 스크립팅 시스템은 해당 이벤트 핸들러 메서드를 호출하여 이벤트 알림에 응답합니다.
이벤트 핸들러 작성
스크립트는 실행 시 컴포넌트에서 발생할 수 있는 이벤트에 반응해야 할 수도 있습니다. 이벤트란 버튼 클릭과 같은 Altium Designer 내의 발생 사항과, 해당 발생 사항에 반응하는 코드 조각을 연결하는 것입니다. 반응하는 코드는 이벤트 핸들러이며, 이 핸들러는 속성 값을 수정하고 메서드를 호출합니다.
각 컴포넌트에는 속성과 함께 일련의 이벤트 이름이 있습니다. 스크립트 프로그래머는 Altium Designer에서 사용자의 동작에 어떻게 반응할지 결정합니다. 예를 들어, 사용자가 폼의 버튼을 클릭하면 Altium Designer는 스크립트에 메시지를 보내고, 스크립트는 이 새로운 이벤트에 반응합니다. OnClick
이러한 모든 컴포넌트에는 포커스를 얻거나 잃을 때 발생하는 이벤트도 있습니다. 그러나 OnEnter 및 OnExit에 대한 코드가 지정되지 않은 경우(OnEnterOnExit
컴포넌트 속성
컴포넌트의 속성 목록을 보려면 컴포넌트를 선택한 후
컴포넌트 이벤트
컴포넌트가 반응할 수 있는 이벤트 목록을 보려면, 컴포넌트를 선택한 후
예를 들어, Button1OnClickCloseCloseClickClose
요약하자면, 이벤트 핸들러는 폼에서 컴포넌트를 선택하거나
또는 버튼을 더블 클릭하면 스크립팅 시스템이 해당 OnClick
컴포넌트 메서드
컴포넌트의 메서드 목록은 컴포넌트 참조를 참조하고, 더 자세한 정보는 Embarcadero Delphi 문서를 참조하십시오.
실행 시 컴포넌트 생성
스크립트 내에서 컴포넌트를 직접 생성하고 소멸시킬 수 있습니다. 일반적으로 스크립트 폼이 이를 자동으로 처리하므로 폼의 핸들을 전달할 필요가 없습니다. 대신, 컴포넌트 생성자에 Nil
예를 들어, TOpenDialogTSaveDialog