O formulário e os elementos de design localizados nele interagem com o script usando propriedades e eventos.
Propriedades
Todas as propriedades do formulário começam com o prefixo “Formulário”.
As propriedades de controle (elementos de design) começam com o prefixo “Form.$$$” , onde $$$ — nome do controle no painel de propriedades do editor de formulários, com diferenciação entre maiúsculas e minúsculas.
Exemplo:
Formulário.editbox.Value = "";
Ao acessar o valor de controle (elemento de design), o parâmetro “.Value” pode ser ignorado.
Exemplo:
Formulário.editbox = "";
Para controles associados a variáveis de script, o valor pode ser passado por meio de uma variável.
Exemplo:
// Vincular a variável Form.editbox.Field = "strType"; //... OnDialogChanged { // As próximas três linhas fazem o mesmo. // Se os valores entrarem em conflito, // a prioridade é levada em consideração. // A prioridade diminui de cima para baixo: Formulário.editbox.Value = ""; Formulário.editbox = ""; strTipo = ""; }
Enquanto o formulário estiver ativo, você poderá trabalhar com suas propriedades e as propriedades de seus controles como se fossem variáveis comuns. Nesse caso, as alterações feitas no script serão aplicadas ao formulário após sair da função do reator.
função OnDialogChanged { se (Modo == 1) { Form.groupbox.Visible = FALSO; Formulário.Rótulo1.Esquerda = 50; } outro { Formulário.groupbox.Visible = TRUE; Formulário.Rótulo1.Esquerda = 10; } Formulário.editbox.Esquerda = Formulário.Rótulo1.Esquerda + 40; Formulário.Label1.Right = Formulário.Label1.Right + 38; }
Propriedade | Acesso | Observação |
---|---|---|
Formulário.Contagem | ler | O número de controles no formulário. |
Formulário.Largura | ler | A largura da área do cliente do formulário. |
Formulário.Altura | ler | A altura da área do cliente do formulário. |
Formulário.Ajuda | completo | Link para o manual de referência. Se o caminho for relativo, ele será preenchido em relação ao caminho para a pasta de Ajuda do projeto.Talvez:- o caminho para o arquivo chm com ou sem o capítulo (não especifique o protocolo).- link para arquivo- Página ou documento NormaCS: http://help.spds.ru (o protocolo é obrigatório).- índice de ajuda |
Formulário.$$$ | completo | O valor do controle. |
Formulário.$$$.Valor | completo | O valor do controle. |
Formulário.$$$.Habilitado | completo | Controle habilitado/desabilitado. |
Formulário.$$$.Visível | completo | Controle visível/invisível. |
Formulário.$$$.Campo | completo | O nome da variável de script associada ao controle. |
Formulário.$$$.Dica de ferramenta | completo | Texto de dica. |
Formulário.$$$.Esquerda | completo | Tamanho do controle – recuo à esquerda.Se uma vinculação foi definida no editor de formulários, após alterar as dimensões, as coordenadas de todos os controles serão recalculadas levando em consideração essas alterações. |
Formulário.$$$.Topo | completo | Tamanho do controle – recuo de cima para baixo. |
Formulário.$$$.Direito | completo | Tamanho do controle – recuo à direita. |
Formulário.$$$.Fundo | completo | Tamanho do controle – recuo de baixo para cima. |
Formulário.$$$.Contagem | completo | O número de itens na lista ou lista suspensa. |
Formulário.$$$.Itens[#] | completo | O #-ésimo elemento da lista ou lista suspensa. |
Eventoы
Um manipulador de eventos, neste contexto, é uma função de script chamada em resposta a um evento no formulário. Os eventos serão chamados de propriedades do formulário, que armazenam os nomes dos manipuladores de eventos. Há eventos do próprio formulário e eventos de seus controles. Você pode trabalhar com eles como com propriedades normais de formulário.
Exemplo:
//Atribui o evento OnChange à função OnEditChange Form.editbox.OnChange = "OnEditChange";
Evento | Quando chamado |
---|---|
Formulário.OnShow | Antes de exibir o formulário. Todas as propriedades do formulário já estão definidas. |
Formulário.OnClose | Antes de fechar o formulário. |
Formulário.$$$.OnChange | Após alterar o valor do controle pelo usuário. Alterar um controle a partir de um script não gera este evento. |
Formulário.$$$.OnEnter | Quando o controle recebe foco de entrada. |
Formulário.$$$.OnLeave | Quando o controle perde o foco de entrada. |
Interruptores
A lógica dos botões de opção é um pouco diferente de outros elementos de design. Vários botões de opção são vinculados à mesma variável de script. Cada um deles é definido com um valor. A variável é definida com o valor do botão habilitado. O valor é do tipo string. Se “-1” for definido, o valor será atribuído automaticamente, começando em 1, em ordem TAB. Nesse caso, o tipo de valor será numérico.
Botões de opção associados a uma única variável são considerados um grupo. Apenas um botão de opção pode ser habilitado em um grupo. Se a variável não for atribuída, os botões de opção localizados dentro do mesmo controle serão agrupados. Geralmente, trata-se de um Grupo ou Painel.
Exemplos
Manipulação de eventos. No código do script, vincule o controle Editar à variável de script d. Quando o valor Editar mudar, atualize o texto no rótulo Estático.
- Solução 1. Quando o valor do EditBox for alterado no formulário, a função OnDialogChanged será chamada. Atribua ao controle EditBox o campo Nome = d. O controle EditBox sincronizará automaticamente seu valor com a variável d.função OnDialogChanged { Form1.editbox1.Field = “d”; Form1.static1 = “Diâmetro do furo: ” + d + “mm”; }
- Solução 2. Atribua um manipulador de eventos OnChange ao controle EditBox.função OnDialogChanged { Form1.editbox1.OnChange = “NaEdiçãoAlterada”; Formulário1.editbox1 = d; } função OnEditChanged { d = Formulário1.editbox1; Form1.static1 = “Diâmetro do furo: ” + d + “mm”; }
- Solução 3. Vamos combinar as duas soluções anteriores. A variável d será sincronizada automaticamente com o controle EditBox, e o texto do rótulo Static será atualizado a partir do manipulador de eventos OnChange.função OnDialogChanged { Form1.editbox1.OnChange = “NaEdiçãoAlterada”; Form1.editbox1.Field = “d”; } função OnEditChanged { Form.Label = “Diâmetro do furo:” + d + “mm”; }
Gerenciamento de listas. Crie uma lista de valores em uma lista suspensa combinada.
função OnDialogChanged { // Você pode definir o número depois dos valores, mas antes deles - de alguma forma, fica mais claro. Formulário.Combo.Count = 5; // Os elementos são numerados a partir de 1. Form.Combo.Items[1] = “(não)”; Formulário.Combo.Items[2] = “Item1”; Formulário.Combo.Items[3] = “Item2”; Formulário.Combo.Items[4] = “Item3”; Formulário.Combo.Items[5] = “Item4”; // Este comando falhará porque há apenas 5 itens na lista. Formulário.Combo.Items[6] = “Item5”; }