Classe de CComboBox
Fornece a funcionalidade de uma caixa de combinação do windows.
class CComboBox : public CWnd
Membros
Construtores public
Nome |
Descrição |
---|---|
Constrói um objeto de CComboBox . |
Métodos públicos
Nome |
Descrição |
---|---|
Adiciona uma cadeia de caracteres ao final da lista na caixa de listagem de uma caixa de combinação, ou na posição classificada para caixas de listagem com o estilo de CBS_SORT . |
|
Exclui (limpa) a seleção atual, se houver, o controle de edição. |
|
Chamado pela estrutura para determinar a posição relativa de um novo item de uma caixa de combinação proprietário desenhada classificado. |
|
Copia a seleção atual, se houver, na área de transferência no formato de CF_TEXT . |
|
Cria a caixa de combinação e anexá-la ao objeto de CComboBox . |
|
Exclui (corta) a seleção atual, se houver, o controle de edição e as cópias o texto excluído na área de transferência no formato de CF_TEXT . |
|
Chamado pela estrutura quando um item de lista é excluído de uma caixa de combinação proprietário desenhada. |
|
Exclui uma cadeia de caracteres da caixa de listagem de uma caixa de combinação. |
|
Adiciona uma lista de nomes de arquivo para a caixa de listagem de uma caixa de combinação. |
|
Chamado pela estrutura quando uma aparência visual de uma caixa de combinação proprietário desenhada alterar. |
|
Localiza a primeira cadeia de caracteres que contém o prefixo especificado na caixa de listagem de uma caixa de combinação. |
|
Localiza a primeira cadeia de caracteres da caixa de listagem (em uma caixa combo) que corresponde a cadeia de caracteres especificada. |
|
Recupera informações sobre o objeto de CComboBox . |
|
Retorna o número de itens na caixa de listagem de uma caixa de combinação. |
|
Obtém o indicação de texto que é exibido em um controle caixa de combinação. |
|
Retorna o índice do item atualmente selecionado, se houver, na caixa de listagem de uma caixa de combinação. |
|
Recupera as coordenadas de tela (solto para baixo) da caixa de listagem visível de uma caixa de combinação drop-down. |
|
Determina se a caixa de listagem de uma caixa de combinação drop-down estivesse visível (solto para baixo). |
|
Obtém a largura reservada mínimo para a parte da lista suspensa de uma caixa de combinação. |
|
Obtém as posições de caracteres de início e de fim de seleção atual no controle de edição de uma caixa de combinação. |
|
Determina se uma caixa combo tem a interface de usuário padrão ou a interface do usuário estendido. |
|
Retorna a largura em pixels que parte da caixa de lista da caixa combo pode ser rolada horizontalmente. |
|
Recupera o valor de 32 bits do aplicativo fornecido associado com o item especificado da caixa combo. |
|
Recupera o ponteiro de 32 bits do aplicativo fornecido que está associado com o item especificado da caixa combo. |
|
Recupera a altura dos itens de uma caixa de combinação. |
|
Obtém uma cadeia de caracteres da caixa de listagem de uma caixa de combinação. |
|
Obtém o tamanho de uma cadeia de caracteres na caixa de listagem de uma caixa de combinação. |
|
Recupera a identificação de localidade para uma caixa de combinação. |
|
Obtém o número mínimo de itens visíveis na lista suspensa de caixa combo atual. |
|
Retorna o índice do primeiro item na parte visível da caixa de lista da caixa combo. |
|
Preallocates blocos de memória para itens e cadeias de caracteres na parte da caixa de lista da caixa combo. |
|
Insere uma cadeia de caracteres na caixa de listagem de uma caixa de combinação. |
|
Limitar o tamanho do texto que o usuário pode inserir o controle de edição de uma caixa de combinação. |
|
Chamado pela estrutura para determinar dimensões da caixa de combinação quando uma caixa combo proprietário desenhada é criada. |
|
Insere os dados da área de transferência no controle de edição na posição atual do cursor.Os dados são inseridos somente se a área de transferência contém dados em um formato de CF_TEXT . |
|
Remove todos os itens de controle de caixa de listagem e de edição de uma caixa de combinação. |
|
Procura por uma cadeia de caracteres na caixa de listagem de uma caixa de combinação e, se a cadeia de caracteres for encontrada, selecione a cadeia de caracteres na caixa de listagem e copia a cadeia de caracteres ao controle de edição. |
|
Define o texto da indicação que é exibido em um controle caixa de combinação. |
|
Seleciona uma cadeia de caracteres na caixa de listagem de uma caixa de combinação. |
|
Defina a largura reservada mínimo para a parte da lista suspensa de uma caixa de combinação. |
|
Seleciona caracteres no controle de edição de uma caixa de combinação. |
|
Seleciona a interface de usuário padrão ou a interface do usuário estendida para uma caixa de combinação que tem o estilo de CBS_DROPDOWN ou de CBS_DROPDOWNLIST . |
|
Defina a largura em pixels que parte da caixa de lista da caixa combo pode ser rolada horizontalmente. |
|
Defina o valor de 32 bits associado com o item especificado em uma caixa combo. |
|
Define o ponteiro de 32 bits associado com o item especificado em uma caixa combo. |
|
Defina a altura dos itens de uma caixa de combinação ou altura de editions parte do controle (ou texto estático) de uma caixa de combinação. |
|
Define a identificação de localidade para uma caixa de combinação. |
|
Define o número mínimo de itens visíveis na lista suspensa de caixa combo atual. |
|
Informa a porção da caixa de listagem caixa de combinação para exibir o item com o índice especificado na parte superior. |
|
Mostra ou oculta a caixa de listagem de uma caixa de combinação que tem o estilo de CBS_DROPDOWN ou de CBS_DROPDOWNLIST . |
Comentários
Uma caixa de combinação consiste em uma caixa de lista combinada com um controle estático ou o controle de edição.A porção da caixa de listagem de controle pode ser exibida em todo ou só pode soltar para baixo quando o usuário seleciona a seta suspensa próxima do controle.
O item atualmente selecionado (se houver) na caixa de listagem estático ou é exibido no controle de edição.Além de isso, se a caixa combo tem o estilo da lista suspensa, o usuário pode digitar o caractere inicial de um dos itens na lista, e a caixa de listagem, se visível, realçará o próximo item com o caractere inicial.
A tabela a seguir compara três a caixa de combinação estilos.
Style |
Quando é a caixa de listagem visível? |
Estático ou controle de edição? |
---|---|---|
Simples |
Sempre |
Editar |
Lista suspensa |
Quando solto para baixo |
Editar |
Lista suspensa |
Quando solto para baixo |
Estático |
Você pode criar um objeto de CComboBox de um modelo na caixa de diálogo ou diretamente no seu código.Em ambos os casos, primeiro chamar o construtor CComboBox para construir o objeto de CComboBox ; chame a função de membro de Criar para criar o controle para e anexá-la ao objeto de CComboBox .
Se você desejar manipular as notificações do windows enviadas por uma caixa combo a seu pai (geralmente uma classe derivada de CDialog), adicionar uma função de membro de entrada e de mensagem- manipulador de mensagem- mapa para a classe pai para cada mensagem.
Cada entrada de mapa mensagem- tem a seguinte forma:
Notificação**(id,memberFxn)deON_**
onde id especifica a identificação da janela filho do controle de caixa de combinação que envia a notificação e são memberFxn o nome da função de membro que você escreveu pai para trate a notificação.
O protótipo de função do pai é o seguinte:
afx_msgvoidmemberFxn**();**
A ordem em que determinadas notificações enviadas serão não pode ser esperado.Em particular, uma notificação de CBN_SELCHANGE pode ocorrer ou antes ou após uma notificação de CBN_CLOSEUP .
As possíveis entradas de mapa mensagem- são as seguintes:
ON_CBN_CLOSEUP (Windows 3.1 e posterior.) a caixa de listagem de uma caixa de combinação fechou-se.Essa notificação não é enviada para uma caixa de combinação que tem o estilo de CBS_SIMPLE .
ON_CBN_DBLCLK o usuário clica duas vezes em uma cadeia de caracteres na caixa de listagem de uma caixa de combinação.Essa notificação são enviadas somente para uma caixa de combinação com o estilo de CBS_SIMPLE .Para uma caixa de combinação com o estilo de CBS_DROPDOWN ou de CBS_DROPDOWNLIST , clique duas vezes não pode ocorrer porque um único clique oculta a caixa de listagem.
ON_CBN_DROPDOWN a caixa de listagem de uma caixa de combinação é o ponto de soltar para baixo (é feito visível).Essa notificação pode ocorrer apenas para uma caixa de combinação com o estilo de CBS_DROPDOWN ou de CBS_DROPDOWNLIST .
ON_CBN_EDITCHANGE o usuário tiver efetuado uma ação que pode ter alterado o texto na parte de editions controle de uma caixa de combinação.A o contrário da mensagem de CBN_EDITUPDATE , essa mensagem é enviada depois que as janelas atualizem a tela.Não é enviado se a caixa combo tem o estilo de CBS_DROPDOWNLIST .
ON_CBN_EDITUPDATE a parte de editions controle de uma caixa de combinação é o ponto de exibir o texto alterado.Essa notificação é enviada após o controle tiver formatado o texto mas antes que exibe o texto.Não é enviado se a caixa combo tem o estilo de CBS_DROPDOWNLIST .
ON_CBN_ERRSPACE a caixa de combinação não pode alocar memória suficiente para localizar uma solicitação específica.
ON_CBN_SELENDCANCEL (Windows 3.1 e posterior.) Indica que a seleção do usuário deve ser cancelada.O usuário clica em um item e clique em outra janela ou controle para ocultar a caixa de listagem de uma caixa de combinação.Essa notificação é enviada antes de notificação de CBN_CLOSEUP para indicar que a seleção do usuário deve ser ignorada.Notificação de CBN_SELENDCANCEL ou de CBN_SELENDOK é enviada se a notificação de CBN_CLOSEUP não é enviada (como no caso de uma caixa de combinação com o estilo de CBS_SIMPLE ).
ON_CBN_SELENDOK o usuário seleciona um item e então pressione a tecla ENTER ou clique na SETA PARA BAIXO para ocultar a caixa de listagem de uma caixa de combinação.Essa notificação é enviada antes que a mensagem de CBN_CLOSEUP para indicar que a seleção do usuário deve ser considerada válido.Notificação de CBN_SELENDCANCEL ou de CBN_SELENDOK é enviada se a notificação de CBN_CLOSEUP não é enviada (como no caso de uma caixa de combinação com o estilo de CBS_SIMPLE ).
ON_CBN_KILLFOCUS a caixa de combinação está perdendo o foco de entrada.
ON_CBN_SELCHANGE a seleção na caixa de listagem de uma caixa de combinação está prestes a ser alterado como resultado de usuário clicar em na caixa de listagem ou que modifica a seleção usando as teclas de direção.A o processar esta mensagem, o texto no controle de edição de caixa combo pode apenas ser recuperado através de GetLBText ou de outra função semelhante.GetWindowText não pode ser usado.
ON_CBN_SETFOCUS a caixa de combinação recebe o foco de entrada.
Se você criar um objeto de CComboBox de uma caixa de diálogo (através de um recurso da caixa de diálogo), o objeto de CComboBox é destruído automaticamente quando o usuário fecha a caixa de diálogo.
Se você inserir um objeto de CComboBox dentro de outro objeto na janela, você não precisa destrui-lo.Se você criar o objeto de CComboBox na pilha, é automaticamente destruída.Se você criar o objeto de CComboBox no heap usando a função de new , você deve chamar delete no objeto para destrui-lo quando a caixa de combinação do windows é destruída.
Observação Se você deseja manipular WM_KEYDOWN e mensagens de WM_CHAR , você precisa subclasse os controles de edição e da caixa de listagem caixa de combinação, para derivar classes de CEdit e de CListBox, e para adicionar manipuladores para essas mensagens para classes derivadas.Para obter mais informações, consulte https://support.microsoft.com/default.aspx?scid=kb;en-us;Q174667 e CWnd::SubclassWindow.
Hierarquia de herança
CComboBox
Requisitos
Cabeçalho: afxwin.h