Использование компонентов форм VBScript
Использование компонентов в формах VBScript
Хотя формы и компоненты основаны на библиотеке визуальных компонентов (VCL) Embarcadero Delphi™, в Altium Designer при использовании VBScript
Обзор компонентов
Система скриптов поддерживает два типа компонентов: визуальные и невизуальные. Визуальные компоненты используются для построения пользовательского интерфейса, а невизуальные — для решения различных задач, таких как выполнение функций, предоставляемых TimerOpenDialogMainMenuTimerButtonEditMemo
Оба типа компонентов отображаются на этапе проектирования, но невизуальные компоненты не видны во время выполнения. Компоненты из панели
- Свойства
- События
- Методы
Характеристика Visible
Событие
A
Все формы скриптов содержат один или несколько компонентов. Компоненты обычно отображают информацию или позволяют пользователю выполнять какие-либо действия. Например, компонент «Label» используется для отображения статического текста, поле ввода «Edit» — для ввода пользователем данных, а кнопка «Button» — для запуска действий.
На форму можно разместить любую комбинацию компонентов, что позволяет пользователю взаимодействовать с ними во время выполнения скрипта (во время работы). Задача программиста скриптов — определить, что произойдет, когда пользователь нажмет кнопку или изменит текст в поле ввода.
Система скриптов предоставляет набор компонентов для создания простых или сложных пользовательских интерфейсов для скриптов. Все компоненты, которые можно разместить на форме, находятся на панели «Палитра инструментов».
Чтобы разместить компонент на форме, найдите его значок на
Размер и положение размещенного компонента, находящегося в положении по умолчанию и имеющего значения ширины и высоты по умолчанию, можно изменить с помощью мыши или через
Проектирование скриптовых форм
Скрипт-форма предназначена для взаимодействия с пользователем в среде 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