Controle Edit (Windows Installer)

O controle Edit é um campo de edição associado a uma propriedade de valor de cadeia de caracteres ou inteiro. Insira o nome da propriedade na coluna Property da Tabela Control.

Atributos de controle

É possível usar os atributos a seguir com esse controle. Para alterar o valor de um atributo usando um evento, assine o controle em um ControlEvent na tabela EventMapping e liste o identificador do atributo na coluna Attribute. Insira o identificador do ControlEvent na coluna Event.

Identificador de atributo Bit hexadecimal Descrição
IndirectPropertyName Esse é o nome de uma propriedade indireta associada ao controle. Se o bit do atributo Indirect estiver definido, o controle vai exibir ou alterar o valor da propriedade que tem esse nome. Se o bit do atributo Indirect estiver definido, esse nome também será o valor da propriedade listada na coluna Property da tabela Control.
Posição Posição do controle na caixa de diálogo. Insira a largura, a altura e as coordenadas do controle do canto esquerdo do controle nas colunas Width, Height, X e Y da tabela Control. Use Unidades do instalador para definir o comprimento e a distância.
PropertyName Esse é o nome da propriedade associada a esse controle. Se o bit de atributo indireto não estiver definido, o controle exibirá ou alterará o valor da propriedade que tem esse nome. Esse atributo é especificado na coluna Property da tabela Control.
PropertyValue Valor atual da propriedade exibida ou alterada por esse controle. Se o bit do atributo Indirect não for definido, esse será o valor de PropertyName. Se o bit do atributo Indirect estiver definido, esse será o valor de IndirectPropertyName. Se o atributo for alterado, o controle refletirá o novo valor.
Texto Para definir a fonte e o estilo da fonte de uma cadeia de texto, acrescente à cadeia de caracteres exibidos o prefixo {\style} ou {&style}. Sendo que Style é um identificador listado na coluna TextStyle da tabela TextStyle. Caso nenhum deles esteja presente, mas a propriedade DefaultUIFont seja definida como um estilo de texto válido, essa fonte será usada. Para especificar o número de caracteres que o usuário pode inserir, acrescente {n} após as especificações de fonte. Em que n é um inteiro positivo.
Visível 0x00000000 0x00000001
Controle oculto. Controle visível.
Inclua esse bit na palavra de bit da coluna Attributes na tabela Control para tornar o controle visível ou oculto após a criação.
Você também pode ocultar ou mostrar um controle usando a tabela ControlCondition.
Enabled 0x00000000 0x00000002
Controle em um estado desabilitado. Controle em um estado habilitado.
Inclua esse bit na palavra de bit na coluna Attributes do Controle para habilitar o controle na criação.
Você também pode habilitar ou desabilitar um controle usando a tabela ControlCondition.
Sunken 0x00000000 0x00000004
Exibe o estilo visual padrão. Exibe o controle com uma aparência 3D em baixo-relevo.
Inclua esses bits na palavra de bit da coluna Attributes da tabela Control.
Indireto. 0x00000000 0x00000008
O controle exibe ou altera o valor da propriedade na coluna Property da tabela Control. O controle exibe ou altera o valor da propriedade que tem o Identificador listado na coluna Property da tabela Control.
Determina se a propriedade associada a esse controle é indiretamente referenciada.
Inteiro 0x00000000 0x00000010
A propriedade associada ao controle é um valor de cadeia de caracteres. A propriedade associada ao controle é um valor inteiro.
Inclua esse bit na palavra de bit da coluna Attributes da tabela Control para definir esse atributo na criação do controle.
RTLRO 0x00000000 0x00000020
O texto no controle é exibido na ordem de leitura da esquerda para a direita. O texto no controle é exibido na ordem de leitura da direita para a esquerda.
RightAligned 0x00000000 0x00000040
O texto no controle é alinhado à esquerda. O texto no controle é alinhado à direita.
LeftScroll 0x00000000 0x00000080
A barra de rolagem está localizada no lado direito do controle. A barra de rolagem está localizada no lado esquerdo do controle.
BiDi 0x000000E0 Defina esse valor para uma combinação dos atributos RTLRO, RightAligned e LeftScroll.
MultiLine 0x00010000 Cria um controle de edição de várias linhas com uma barra de rolagem vertical. Inclua 65536 na palavra bit na coluna Attributes do Controle para criar um controle de edição de várias linhas com uma barra de rolagem vertical.
Senha 0x00200000 Cria um controle de edição para inserir senhas. Adicione 2097152 ao valor na coluna Attributes da tabela Control para criar um controle de edição que exibe cada caractere como asterisco (*), à medida que é digitado no controle. Definir o Atributo de Senha impede que o instalador grave a propriedade associada ao controle Edit no arquivo de log. Para obter mais informações, confira Como impedir que informações confidenciais sejam gravadas no arquivo de log

Comentários

Esse controle pode ser criado com base na classe EDIT usando a função CreateWindowEx. Ele tem os estilos WS_BORDER, WS_CHILD, WS_TABSTOP e WS_GROUP.

É possível limitar o comprimento do texto que pode ser inserido colocando um número de 0 a 2147483646 entre chaves no início do campo Texto na tabela Control. Por exemplo, se o campo de texto começar com {80}, o comprimento da cadeia de caracteres será limitado a 80 caracteres. Se nenhum limite desse tipo for fornecido na tabela ou se for especificado 0, o comprimento será definido como o máximo possível (2147483646 caracteres). Um valor negativo ou não numérico gerará um erro.

Para compatibilidade com os leitores de tela, ao criar uma caixa de diálogo com um controle Edit como o primeiro controle ativo, você precisa tornar o campo de texto parte do campo de edição o primeiro controle ativo na tabela Dialog. Como o texto estático não consegue focar, quando a caixa de diálogo é criada, o campo de edição terá o foco inicialmente conforme o esperado, mas isso garante que os leitores de tela mostrem as informações corretas.

A propriedade associada ao controle Edit só é definida quando o controle perde o foco. Portanto, você deve usar a guia do controle ou selecionar um controle diferente para que a propriedade seja atualizada.