Utilização de componentes de formulário em VBScript
Utilização de componentes em formulários VBScript
Embora os formulários e os componentes se baseiem na Visual Component Library (VCL) do Embarcadero Delphi™, o Altium Designer, baseado em Delphi,
Visão geral dos componentes
O sistema de scripts suporta dois tipos de componentes: componentes visuais e não visuais. Os componentes visuais são utilizados para construir a interface do utilizador e os componentes não visuais são utilizados para diferentes tarefas, tais como as funções fornecidas pelo TimerOpenDialogMainMenuTimerButtonEditMemo
Ambos os tipos de componentes aparecem na fase de conceção, mas os componentes não visuais não são visíveis na fase de execução. Os componentes do
- Propriedades
- Eventos
- Métodos
Uma Visible
Um
Um
Todos os formulários de script têm um ou mais componentes. Os componentes geralmente apresentam informações ou permitem que um utilizador execute uma ação. Por exemplo, um «Label» é utilizado para apresentar texto estático, uma caixa de «Edit» é utilizada para permitir que um utilizador introduza alguns dados e um «Button» pode ser utilizado para iniciar ações.
Qualquer combinação de componentes pode ser colocada num formulário, permitindo que o utilizador interaja com eles quando o script está a ser executado (tempo de execução). Cabe ao programador de scripts decidir o que acontece quando um utilizador clica num botão ou altera um texto numa caixa de edição.
O sistema de scripts fornece uma variedade de componentes para criar interfaces de utilizador simples ou complexas para scripts. Todos os componentes que podem ser colocados num formulário encontram-se no painel «Paleta de Ferramentas».
Para colocar um componente num formulário, localize o seu ícone no
Um componente inserido, na sua posição e largura-altura predefinidas, pode ser redimensionado ou reposicionado utilizando o rato ou através do
Conceção de formulários de script
Um formulário de script é concebido para interagir com um utilizador no ambiente do Altium Designer. A conceção de formulários de script constitui o cerne do desenvolvimento visual no Altium Designer.
Cada componente colocado num formulário de script e cada propriedade definida são armazenados num ficheiro que descreve o formulário (um *.dfm*.vbs*.vbs*.dfm
Ao trabalhar com um formulário de script e os seus componentes, as suas propriedades podem ser acedidas e modificadas utilizando o Caption
Criar um novo formulário de script
Com um projeto de script aberto, clique com o botão direito do rato no projeto no EditScript1.vbs *.PrjPCB
Exibir um formulário de script
Um script tem de conter uma rotina que exiba o formulário quando o formulário do script for executado no Altium Designer. Dentro desta rotina, o ShowModalVisibleShowModal
Exemplo de ShowModal
Sub RunDialog DialogForm.ShowModal End Sub
O ShowModalRunDialogDialogFormDialogForm.ShowModal
O 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
O mesmo resultado que o acima descrito poderia ser obtido definindo o ModalResultmrOkmrCancelCloseModalResult
Note-se que, para definir o ModalResultSender.Cancel := TrueCancelButtonClick
Aceitar entradas do utilizador
Um dos componentes mais comuns que pode aceitar entradas de um utilizador é o EditBoxEditBox
O exemplo abaixo ilustra o que acontece quando um utilizador clica no botão após digitar texto na caixa de edição. Note-se que, se um utilizador não tiver digitado qualquer texto no componente de edição, o manipulador de eventos responde com uma mensagem de aviso
sub TScriptForm.ButtonClick(Sender) If Edit1.Text = "" Then ShowMessage("Warning - empty input!") Exit End ' do something else for the input End sub
Note que o utilizador pode deslocar o foco de entrada no formulário utilizando a tecla
Resposta a eventos
Quando um formulário ou um componente é selecionado por um utilizador, o Altium Designer envia uma mensagem ao Sistema de Scripts, que responde à notificação do evento chamando o método de manipulador de eventos apropriado.
Escrever manipuladores de eventos
Um script pode precisar de responder a eventos que possam ocorrer num componente em tempo de execução. Um evento é uma ligação entre uma ocorrência no Altium Designer, como clicar num botão, e um trecho de código que responde a essa ocorrência. O código de resposta é um manipulador de eventos, que modifica valores de propriedades e chama métodos.
Juntamente com as propriedades de um componente, cada um possui um conjunto de nomes de eventos. Um programador de scripts decide como este irá reagir às ações de um utilizador no Altium Designer. Por exemplo, quando um utilizador clica num botão num formulário, o Altium Designer envia uma mensagem para o script e o script reage a este novo evento — se o OnClick
Todos esses componentes têm também um evento para ganhar e perder o foco. No entanto, se o código para OnEnter e OnExit não estiver especificado (OnEnterOnExit
Propriedades do componente
Para ver uma lista de propriedades de um componente, selecione um componente e ative o
Eventos do componente
Para ver uma lista dos eventos aos quais um componente pode reagir, selecione um componente e aceda ao
Por exemplo, selecione o Button1OnClickCloseCloseClickClose
Em resumo, um manipulador de eventos é criado num script selecionando um componente no formulário, ou através do
Em alternativa, ao clicar duas vezes num botão, o sistema de scripts adicionará um manipulador para um OnClick
Métodos dos componentes
Consulte a Referência de Componentes para obter uma lista de métodos de um componente e consulte a documentação do Embarcadero Delphi para obter informações mais detalhadas.
Criação de componentes em tempo de execução
Os componentes podem ser criados e destruídos diretamente num script. Normalmente, não é necessário passar o identificador do formulário, uma vez que o formulário do script trata disso automaticamente — em vez disso, passe um Nil
Por exemplo, o TOpenDialogTSaveDialog