Interação do formulário com o script

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;
}
PropriedadeAcessoObservação
Formulário.ContagemlerO número de controles no formulário.
Formulário.LarguralerA largura da área do cliente do formulário.
Formulário.AlturalerA altura da área do cliente do formulário.
Formulário.AjudacompletoLink 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.$$$completoO valor do controle.
Formulário.$$$.ValorcompletoO valor do controle.
Formulário.$$$.HabilitadocompletoControle habilitado/desabilitado.
Formulário.$$$.VisívelcompletoControle visível/invisível.
Formulário.$$$.CampocompletoO nome da variável de script associada ao controle.
Formulário.$$$.Dica de ferramentacompletoTexto de dica.
Formulário.$$$.EsquerdacompletoTamanho 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.$$$.TopocompletoTamanho do controle – recuo de cima para baixo.
Formulário.$$$.DireitocompletoTamanho do controle – recuo à direita.
Formulário.$$$.FundocompletoTamanho do controle – recuo de baixo para cima.
Formulário.$$$.ContagemcompletoO número de itens na lista ou lista suspensa.
Formulário.$$$.Itens[#]completoO #-é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";
EventoQuando chamado
Formulário.OnShowAntes de exibir o formulário. Todas as propriedades do formulário já estão definidas.
Formulário.OnCloseAntes de fechar o formulário.
Formulário.$$$.OnChangeApós alterar o valor do controle pelo usuário. Alterar um controle a partir de um script não gera este evento.
Formulário.$$$.OnEnterQuando o controle recebe foco de entrada.
Formulário.$$$.OnLeaveQuando 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”;
}