Partilhar via


Controlo ComboBox

O controle ComboBox exibe uma lista suspensa de valores predefinidos e um campo de edição no qual o usuário pode inserir um valor. Para associar esse controle a uma cadeia de caracteres ou propriedade inteira, digite o nome da propriedade na coluna Propriedade da tabela Controle .

Atributos de controle

Você pode usar os seguintes atributos com esse controle. Para alterar o valor de um atributo usando um evento, inscreva o controle em um ControlEvent na tabela EventMapping e liste o identificador do atributo na coluna Atributo. Insira o identificador do ControlEvent na coluna Evento.

Identificador de atributo Bit hexadecimal Descrição
IndirectPropertyName Este é o nome de uma propriedade indireta associada ao controle. Se o bit do atributo Indireto estiver definido, o controle exibirá ou alterará o valor da propriedade com esse nome. Se o bit do atributo Indireto estiver definido, esse nome também será o valor da propriedade listada na coluna Propriedade da tabela Controle .
Posição Posição do controle na caixa de diálogo. Insira a largura, altura e coordenadas do canto esquerdo do controle nas colunas Largura, Altura, X e Y da tabela Controle . Use unidades de instalação para comprimento e distância.
PropertyName Este é o nome da propriedade associada a esse controle. Se o bit do atributo Indireto não estiver definido, o controle exibirá ou alterará o valor da propriedade com esse nome. Este atributo é especificado na coluna Propriedade da tabela Control.
PropertyValue O valor atual da propriedade exibida ou alterada por esse controle. Se o bit do atributo Indirect não estiver 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.
de texto Para definir a fonte e o estilo de fonte de uma cadeia de texto, prefixe a cadeia de caracteres exibidos com {\style} ou {&style}. Onde style é um identificador listado na coluna TextStyle da tabela TextStyle. Se nenhum deles estiver presente, mas a propriedadeDefaultUIFontfor 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 qualquer especificação de fonte, onde n é um inteiro positivo.
visível 0x00000000 0x00000001
Controle oculto. Controlo visível.
Inclua esse bit na palavra bit da coluna Atributos na tabela Controle para tornar o controle visível ou oculto após sua criação.
Você também pode ocultar ou mostrar um controle usando a tabela ControlCondition.
ativado 0x00000000 0x00000002
Controle em um estado desativado. Controle em um estado habilitado.
Inclua esse bit na palavra bit na coluna Atributos do Controle de para habilitar o controle na criação.
Você também pode habilitar ou desabilitar um controle usando a tabela ControlCondition.
afundado 0x00000000 0x00000004
Exibe o estilo visual padrão. Exibe o controle com uma aparência 3D afundada.
Inclua esses bits na palavra bit na coluna Atributos da tabela Controle de .
indireta 0x00000000 0x00000008
O controle exibe ou altera o valor da propriedade na coluna Propriedade da tabela Control. O controle exibe ou altera o valor da propriedade que tem o identificador listado na coluna Propriedade da tabela Control.
Determina se a propriedade associada a esse controle é referenciada indiretamente.
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 bit da coluna Atributos da tabela Control 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, RightAlignede LeftScroll.
Ordenado não definido 0x00010000
Itens exibidos em ordem alfabética. Itens exibidos na ordem especificada na tabela ListView .
O controle consulta a tabela ComboBoxe, se o bit de estilo Ordenado estiver definido, o ComboBox tem o estilo CBS_SORT e exibe itens conforme especificado por Ordenação. Se esse bit de estilo não estiver definido, os itens serão exibidos em ordem alfabética.
ComboList não definido 0x00020000
Caixa de combinação com campo de edição. A caixa de combinação com o campo de edição é substituída por um campo de texto estático.
UsersLanguage 0x00000000 0x00100000
Fontes criadas na página de código do banco de dados. Fontes criadas na página de código da interface do usuário padrão do usuário.

Comentários

Esse controle pode ser criado a partir da classe COMBOBOX usando a funçãoCreateWindowEx. Tem os estilos CBS_AUTOHSCROLL, WS_TABSTOP, WS_GROUPe WS_CHILD. Se o bit ComboList estiver ativado, ele também terá o estilo CBS_DROPDOWNLIST, caso contrário, terá o estilo CBS_DROPDOWN.

O comprimento do texto que pode ser inserido pode ser limitado colocando um número de 0 a 2147483646 em 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 tal limite não for fornecido na tabela, ou se 0 for especificado, o comprimento é definido para o máximo possível (2147483646 caracteres). Um valor negativo ou não numérico gerará um erro.

Para compatibilidade com leitores de tela, ao criar uma caixa de diálogo com um controle ComboBox como o primeiro controle ativo, você deve tornar o campo de texto pertencente ao campo de edição o primeiro controle ativo na tabela Dialog. Como o texto estático não pode ter foco, quando a caixa de diálogo é criada, o campo de edição terá o foco inicialmente como pretendido. Isso garante que os leitores de tela mostrem as informações corretas.