Caixa de combinação (controles do Windows)
Esta seção contém informações sobre os elementos de programação usados com caixas de combinação. Um de caixa de combinação é um tipo exclusivo de controle, definido pela classe COMBOBOX, que combina grande parte da funcionalidade de uma caixa de listagem e um controle de edição.
Visão geral
Tópico | Índice |
---|---|
Sobre as caixas de combinação | Esta seção discute os diferentes tipos de caixas de combinação. |
Combo Box Características | Este documento discute os recursos da caixa de combinação. |
Usando caixas de combinação | Os exemplos de código nesta seção demonstram como executar tarefas associadas a caixas de combinação. |
Funções
Tópico | Índice |
---|---|
DlgDirListComboBox | Substitui o conteúdo de uma caixa de combinação com os nomes dos subdiretórios e arquivos em um diretório especificado. Você pode filtrar a lista de nomes especificando um conjunto de atributos de arquivo. A lista de nomes pode incluir letras de unidade mapeadas. |
DlgDirSelectComboBoxEx | Recupera a seleção atual de uma caixa de combinação preenchida usando a funçãoDlgDirListComboBox. A seleção é interpretada como uma letra de unidade, um arquivo ou um nome de diretório. |
GetComboBoxInfo | Recupera informações sobre a caixa de combinação especificada. |
Macros
Tópico | Índice |
---|---|
ComboBox_AddItemData | Adiciona dados de item à lista em uma caixa de combinação no local especificado. Você pode usar essa macro ou enviar a mensagem CB_ADDSTRING explicitamente. |
ComboBox_AddString | Adiciona uma cadeia de caracteres a uma lista em uma caixa de combinação. Se a caixa de combinação não tiver o estilo CBS_SORT, a cadeia de caracteres será adicionada ao final da lista. Caso contrário, a cadeia de caracteres é inserida na lista e a lista é classificada. Você pode usar essa macro ou enviar a mensagem CB_ADDSTRING explicitamente. |
ComboBox_DeleteString | Exclui o item no local especificado em uma lista em uma caixa de combinação. Você pode usar essa macro ou enviar a mensagem CB_DELETESTRING explicitamente. |
ComboBox_Dir | Adiciona nomes à lista exibida por uma caixa de combinação. A macro adiciona os nomes de diretórios e arquivos que correspondem a uma cadeia de caracteres especificada e um conjunto de atributos de arquivo. Ele também pode adicionar letras de unidade mapeadas à lista em uma caixa de combinação. Você pode usar essa macro ou enviar a mensagem CB_DIR explicitamente. |
ComboBox_Enable | Habilita ou desabilita um controle de caixa de combinação. |
ComboBox_FindItemData | Localiza o primeiro item em uma lista de caixa de combinação que tem os dados do item especificados. Você pode usar essa macro ou enviar a mensagem CB_FINDSTRING explicitamente. |
ComboBox_FindString | Localiza a primeira cadeia de caracteres em uma lista de caixas de combinação que começa com a cadeia de caracteres especificada. Você pode usar essa macro ou enviar a mensagem CB_FINDSTRING explicitamente. |
ComboBox_FindStringExact | Localiza a primeira cadeia de caracteres em uma lista de caixas de combinação que corresponde exatamente à cadeia de caracteres especificada, exceto que a pesquisa não diferencia maiúsculas de minúsculas. Você pode usar essa macro ou enviar a mensagem CB_FINDSTRINGEXACT explicitamente. |
ComboBox_GetCount | Obtém o número de itens na caixa de listagem de uma caixa de combinação. Você pode usar essa macro ou enviar a mensagem CB_GETCOUNT explicitamente. |
ComboBox_GetCueBannerText | Obtém o texto do banner de sinalização exibido no controle de edição de uma caixa de combinação. Use esta macro ou envie a mensagem CB_GETCUEBANNER explicitamente. |
ComboBox_GetCurSel | Obtém o índice do item atualmente selecionado em uma caixa de combinação. Você pode usar essa macro ou enviar a mensagem CB_GETCURSEL explicitamente. |
ComboBox_GetDroppedControlRect | Recupera as coordenadas da tela de uma caixa de combinação em seu estado suspenso. Você pode usar essa macro ou enviar a mensagem CB_GETDROPPEDCONTROLRECT explicitamente. |
ComboBox_GetDroppedState | Verifica se a lista suspensa em um controle de caixa de combinação está visível. Você pode usar essa macro ou enviar a mensagem CB_GETDROPPEDSTATE explicitamente. |
ComboBox_GetExtendedUI | Verifica se uma caixa de combinação está usando a interface do usuário (UI) padrão ou a interface do usuário estendida. Você pode usar essa macro ou enviar a mensagem CB_GETEXTENDEDUI explicitamente. |
ComboBox_GetItemData | Obtém o valor definido pelo aplicativo associado ao item de lista especificado em uma caixa de combinação. Você pode usar essa macro ou enviar a mensagem CB_GETITEMDATA explicitamente. |
ComboBox_GetItemHeight | Recupera a altura dos itens de lista em uma caixa de combinação. Você pode usar essa macro ou enviar a mensagem CB_GETITEMHEIGHT explicitamente. |
ComboBox_GetLBText | Obtém uma cadeia de caracteres de uma lista em uma caixa de combinação. Você pode usar essa macro ou enviar a mensagem CB_GETLBTEXT explicitamente. |
ComboBox_GetLBTextLen | Obtém o comprimento de uma cadeia de caracteres na lista em uma caixa de combinação. Você pode usar essa macro ou enviar a mensagem CB_GETLBTEXTLEN explicitamente. |
ComboBox_GetMinVisible | Obtém o número mínimo de itens visíveis na lista suspensa de uma caixa de combinação. |
ComboBox_GetText | Recupera o texto de um controle de caixa de combinação. |
ComboBox_GetTextLength | Obtém o número de caracteres no texto de uma caixa de combinação. |
ComboBox_InsertItemData | Insere dados de item em uma lista em uma caixa de combinação no local especificado. Você pode usar essa macro ou enviar a mensagem CB_INSERTSTRING explicitamente. |
ComboBox_InsertString | Adiciona uma cadeia de caracteres a uma lista em uma caixa de combinação no local especificado. Você pode usar essa macro ou enviar a mensagem CB_INSERTSTRING explicitamente. |
ComboBox_LimitText | Limita o comprimento do texto que o usuário pode digitar no controle de edição de uma caixa de combinação. Você pode usar essa macro ou enviar a mensagem CB_LIMITTEXT explicitamente. |
ComboBox_ResetContent | Remove todos os itens da caixa de listagem e edita o controle de uma caixa de combinação. Você pode usar essa macro ou enviar a mensagem CB_RESETCONTENT explicitamente. |
ComboBox_SelectItemData | Pesquisa uma lista em uma caixa de combinação para um item que tenha os dados do item especificados. Se um item correspondente for encontrado, o item será selecionado. Você pode usar essa macro ou enviar a mensagem CB_SELECTSTRING explicitamente. |
ComboBox_SelectString | Pesquisa uma lista em uma caixa de combinação para um item que começa com os caracteres em uma cadeia de caracteres especificada. Se um item correspondente for encontrado, o item será selecionado. Você pode usar essa macro ou enviar a mensagem CB_SELECTSTRING explicitamente. |
ComboBox_SetCueBannerText | Define o texto do banner de sinalização que é exibido para o controle de edição de uma caixa de combinação. |
ComboBox_SetCurSel | Define o item selecionado atualmente em uma caixa de combinação. Você pode usar essa macro ou enviar a mensagem CB_SETCURSEL explicitamente. |
ComboBox_SetExtendedUI | Seleciona a interface do usuário (UI) padrão ou a interface do usuário estendida para uma caixa de combinação que tenha o estilo CBS_DROPDOWN ou CBS_DROPDOWNLIST. Você pode usar essa macro ou enviar a mensagem CB_SETEXTENDEDUI explicitamente. |
ComboBox_SetItemData | Define o valor definido pelo aplicativo associado ao item de lista especificado em uma caixa de combinação. Você pode usar essa macro ou enviar a mensagem CB_SETITEMDATA explicitamente. |
ComboBox_SetItemHeight | Define a altura dos itens de lista ou o campo de seleção em uma caixa de combinação. Você pode usar essa macro ou enviar a mensagem CB_SETITEMHEIGHT explicitamente. |
ComboBox_SetMinVisible | Define o número mínimo de itens visíveis na lista suspensa de uma caixa de combinação. |
ComboBox_SetText | Define o texto de uma caixa de combinação. |
ComboBox_ShowDropdown | Mostra ou oculta a lista em uma caixa de combinação. Você pode usar essa macro ou enviar a mensagem CB_SHOWDROPDOWN explicitamente. |
Mensagens
Tópico | Índice |
---|---|
CB_ADDSTRING | Adiciona uma cadeia de caracteres à caixa de listagem de uma caixa de combinação. Se a caixa de combinação não tiver o estilo CBS_SORT, a cadeia de caracteres será adicionada ao final da lista. Caso contrário, a cadeia de caracteres é inserida na lista e a lista é classificada. |
CB_DELETESTRING | Exclui uma cadeia de caracteres na caixa de listagem de uma caixa de combinação. |
CB_DIR | Adiciona nomes à lista exibida pela caixa de combinação. A mensagem adiciona os nomes de diretórios e arquivos que correspondem a uma cadeia de caracteres especificada e um conjunto de atributos de arquivo.
CB_DIR também pode adicionar letras de unidade mapeadas à lista. |
CB_FINDSTRING | Pesquisa na caixa de listagem de uma caixa de combinação um item que começa com os caracteres em uma cadeia de caracteres especificada. |
CB_FINDSTRINGEXACT | Localiza a primeira cadeia de caracteres da caixa de listagem em uma caixa de combinação que corresponde à cadeia de caracteres especificada no parâmetro lParam. |
CB_GETCOMBOBOXINFO | Obtém informações sobre a caixa de combinação especificada. |
CB_GETCOUNT | Obtém o número de itens na caixa de listagem de uma caixa de combinação. |
CB_GETCUEBANNER | Obtém o texto do banner de sinalização exibido no controle de edição de uma caixa de combinação. Envie esta mensagem explicitamente ou usando a macro ComboBox_GetCueBannerText. |
CB_GETCURSEL | Um aplicativo envia uma mensagem CB_GETCURSEL para recuperar o índice do item selecionado no momento, se houver, na caixa de listagem de uma caixa de combinação. |
CB_GETDROPPEDCONTROLRECT | Um aplicativo envia uma mensagem CB_GETDROPPEDCONTROLRECT para recuperar as coordenadas da tela de uma caixa de combinação em seu estado suspenso. |
CB_GETDROPPEDSTATE | Determina se a caixa de listagem de uma caixa de combinação é suspensa. |
CB_GETDROPPEDWIDTH | Obtém a largura mínima permitida, em pixels, da caixa de listagem de uma caixa de combinação com o estilo CBS_DROPDOWN ou CBS_DROPDOWNLIST. |
CB_GETEDITSEL | Obtém as posições dos caracteres inicial e final da seleção atual no controle de edição de uma caixa de combinação. |
CB_GETEXTENDEDUI | Determina se uma caixa de combinação tem a interface do usuário padrão ou a interface do usuário estendida. |
CB_GETHORIZONTALEXTENT | Obtém a largura, em pixels, que a caixa de listagem pode ser rolada horizontalmente (a largura rolável). Isso só é aplicável se a caixa de listagem tiver uma barra de rolagem horizontal. |
CB_GETITEMDATA | Um aplicativo envia uma mensagem CB_GETITEMDATA para uma caixa de combinação para recuperar o valor fornecido pelo aplicativo associado ao item especificado na caixa de combinação. |
CB_GETITEMHEIGHT | Determina a altura dos itens de lista ou o campo de seleção em uma caixa de combinação. |
CB_GETLBTEXT | Obtém uma cadeia de caracteres da lista de uma caixa de combinação. |
CB_GETLBTEXTLEN | Obtém o comprimento, em caracteres, de uma cadeia de caracteres na lista de uma caixa de combinação. |
CB_GETLOCALE | Obtém a localidade atual da caixa de combinação. A localidade é usada para determinar a ordem correta de classificação do texto exibido para caixas de combinação com o estilo CBS_SORT e o texto adicionado usando a mensagem CB_ADDSTRING. |
CB_GETMINVISIBLE | Obtém o número mínimo de itens visíveis na lista suspensa de uma caixa de combinação. |
CB_GETTOPINDEX | Um aplicativo envia a mensagem CB_GETTOPINDEX para recuperar o índice baseado em zero do primeiro item visível na parte da caixa de listagem de uma caixa de combinação. Inicialmente, o item com índice 0 está na parte superior da caixa de listagem, mas se o conteúdo da caixa de listagem tiver sido rolado, outro item pode estar na parte superior. |
CB_INITSTORAGE | Um aplicativo envia a mensagem CB_INITSTORAGE antes de adicionar um grande número de itens à parte da caixa de listagem de uma caixa de combinação. Esta mensagem aloca memória para armazenar itens da caixa de listagem. |
CB_INSERTSTRING | Insere uma cadeia de caracteres ou dados de item na lista de uma caixa de combinação. Ao contrário da mensagem CB_ADDSTRING, a mensagem CB_INSERTSTRING não faz com que uma lista com o estilo CBS_SORT seja classificada. |
CB_LIMITTEXT | Limita o comprimento do texto que o usuário pode digitar no controle de edição de uma caixa de combinação. |
CB_RESETCONTENT | Remove todos os itens da caixa de listagem e edita o controle de uma caixa de combinação. |
CB_SELECTSTRING | Pesquisa na lista de uma caixa de combinação um item que começa com os caracteres em uma cadeia de caracteres especificada. Se um item correspondente for encontrado, ele será selecionado e copiado para o controle de edição. |
CB_SETCUEBANNER | Define o texto do banner de sinalização que é exibido para o controle de edição de uma caixa de combinação. |
CB_SETCURSEL | Um aplicativo envia uma mensagem CB_SETCURSEL para selecionar uma cadeia de caracteres na lista de uma caixa de combinação. Se necessário, a lista rola a cadeia de caracteres para a exibição. O texto no controle de edição da caixa de combinação é alterado para refletir a nova seleção e qualquer seleção anterior na lista é removida. |
CB_SETDROPPEDWIDTH | Um aplicativo envia a mensagem CB_SETDROPPEDWIDTH para definir a largura máxima permitida, em pixels, da caixa de listagem de uma caixa de combinação com o estilo CBS_DROPDOWN ou CBS_DROPDOWNLIST. |
CB_SETEDITSEL | Um aplicativo envia uma mensagem CB_SETEDITSEL para selecionar caracteres no controle de edição de uma caixa de combinação. |
CB_SETEXTENDEDUI | Um aplicativo envia uma mensagem CB_SETEXTENDEDUI para selecionar a interface do usuário padrão ou a interface do usuário estendida para uma caixa de combinação que tenha o estilo CBS_DROPDOWN ou CBS_DROPDOWNLIST. |
CB_SETHORIZONTALEXTENT | Um aplicativo envia a mensagem CB_SETHORIZONTALEXTENT para definir a largura, em pixels, pela qual uma caixa de listagem pode ser rolada horizontalmente (a largura rolável). Se a largura da caixa de listagem for menor que esse valor, a barra de rolagem horizontal rolará horizontalmente os itens na caixa de listagem. Se a largura da caixa de listagem for igual ou maior que esse valor, a barra de rolagem horizontal ficará oculta ou, se a caixa de combinação tiver o estilo CBS_DISABLENOSCROLL, desabilitada. |
CB_SETITEMDATA | Um aplicativo envia uma mensagem CB_SETITEMDATA para definir o valor associado ao item especificado em uma caixa de combinação. |
CB_SETITEMHEIGHT | Um aplicativo envia uma mensagem CB_SETITEMHEIGHT para definir a altura dos itens de lista ou o campo de seleção em uma caixa de combinação. |
CB_SETLOCALE | Um aplicativo envia uma mensagem CB_SETLOCALE para definir a localidade atual da caixa de combinação. Se a caixa de combinação tiver o estilo CBS_SORT e as cadeias de caracteres forem adicionadas usando CB_ADDSTRING, a localidade de uma caixa de combinação afetará a forma como os itens de lista são classificados. |
CB_SETMINVISIBLE | Um aplicativo envia uma mensagem CB_SETMINVISIBLE para definir o número mínimo de itens visíveis na lista suspensa de uma caixa de combinação. |
CB_SETTOPINDEX | Um aplicativo envia a mensagem CB_SETTOPINDEX para garantir que um item específico esteja visível na caixa de listagem de uma caixa de combinação. O sistema rola o conteúdo da caixa de listagem para que o item especificado apareça na parte superior da caixa de listagem ou o intervalo máximo de rolagem tenha sido atingido. |
CB_SHOWDROPDOWN | Um aplicativo envia uma mensagem CB_SHOWDROPDOWN para mostrar ou ocultar a caixa de listagem de uma caixa de combinação que tem o estilo CBS_DROPDOWN ou CBS_DROPDOWNLIST. |
Notificações
Tópico | Índice |
---|---|
CBN_CLOSEUP | O código de notificação CBN_CLOSEUP é enviado quando a caixa de listagem de uma caixa de combinação foi fechada. A janela pai da caixa de combinação recebe esse código de notificação através da mensagem WM_COMMAND. |
CBN_DBLCLK | O código de notificação CBN_DBLCLK é enviado quando o usuário clica duas vezes em uma cadeia de caracteres na caixa de listagem de uma caixa de combinação. A janela pai da caixa de combinação recebe esse código de notificação através da mensagem WM_COMMAND. |
CBN_DROPDOWN | O código de notificação CBN_DROPDOWN é enviado quando a caixa de listagem de uma caixa de combinação está prestes a ser tornada visível. A janela pai da caixa de combinação recebe esse código de notificação através da mensagem WM_COMMAND. |
CBN_EDITCHANGE | O código de notificação CBN_EDITCHANGE é enviado depois que o usuário executa uma ação que pode ter alterado o texto na parte de controle de edição de uma caixa de combinação. Ao contrário do código de notificação CBN_EDITUPDATE, este código de notificação é enviado depois que o sistema atualiza a tela. A janela pai da caixa de combinação recebe esse código de notificação através da mensagem WM_COMMAND. |
CBN_EDITUPDATE | O código de notificação CBN_EDITUPDATE é enviado quando a parte de controle de edição de uma caixa de combinação está prestes a exibir o texto alterado. Esse código de notificação é enviado depois que o controle formatou o texto, mas antes de exibir o texto. A janela pai da caixa de combinação recebe esse código de notificação através da mensagem WM_COMMAND. |
CBN_ERRSPACE | O código de notificação CBN_ERRSPACE é enviado quando uma caixa de combinação não pode alocar memória suficiente para atender a uma solicitação específica. A janela pai da caixa de combinação recebe esse código de notificação através da mensagem WM_COMMAND. |
CBN_KILLFOCUS | O código de notificação CBN_KILLFOCUS é enviado quando uma caixa de combinação perde o foco do teclado. A janela pai da caixa de combinação recebe esse código de notificação através da mensagem WM_COMMAND. |
CBN_SELCHANGE | O código de notificação CBN_SELCHANGE é enviado quando o usuário altera a seleção atual na caixa de listagem de uma caixa de combinação. O usuário pode alterar a seleção clicando na caixa de listagem ou usando as teclas de seta. A janela pai da caixa de combinação recebe essa notificação na forma de uma mensagem WM_COMMAND com CBN_SELCHANGE na palavra de alta ordem do parâmetro wParam. |
CBN_SELENDCANCEL | O código de notificação CBN_SELENDCANCEL é enviado quando o usuário seleciona um item, mas seleciona outro controle ou fecha a caixa de diálogo. Ele indica que a seleção inicial do usuário deve ser ignorada. A janela pai da caixa de combinação recebe esse código de notificação através da mensagem WM_COMMAND. |
CBN_SELENDOK | O código de notificação CBN_SELENDOK é enviado quando o usuário seleciona um item de lista ou seleciona um item e, em seguida, fecha a lista. Indica que a seleção do utilizador deve ser processada. A janela pai da caixa de combinação recebe esse código de notificação através da mensagem WM_COMMAND. |
CBN_SETFOCUS | O código de notificação CBN_SETFOCUS é enviado quando uma caixa de combinação recebe o foco do teclado. A janela pai da caixa de combinação recebe esse código de notificação através da mensagem WM_COMMAND. |
WM_COMPAREITEM | O sistema envia a mensagem WM_COMPAREITEM para determinar a posição relativa de um novo item na lista ordenada de uma caixa de combinação ou caixa de listagem desenhada pelo proprietário. Sempre que o aplicativo adiciona um novo item, o sistema envia essa mensagem para o proprietário de uma caixa de combinação ou caixa de listagem criada com o estilo CBS_SORT ou LBS_SORT. |
WM_DRAWITEM | A mensagem WM_DRAWITEM é enviada para a janela pai de um botão, caixa de combinação, caixa de listagem ou menu desenhada pelo proprietário quando um aspeto visual do botão, caixa de combinação, caixa de listagem ou menu é alterado. |
WM_MEASUREITEM | A mensagem WM_MEASUREITEM é enviada para a janela do proprietário de uma caixa de combinação, caixa de listagem, controle de exibição de lista ou item de menu quando o controle ou menu é criado. |
Estruturas
Tópico | Índice |
---|---|
COMBOBOXINFO | Contém informações de status da caixa de combinação. |
COMPAREITEMSTRUCT | Fornece os identificadores e os dados fornecidos pelo aplicativo para dois itens em uma caixa de listagem ou caixa de combinação classificada, desenhada pelo proprietário. |
DRAWITEMSTRUCT | Fornece informações necessárias na janela do proprietário para determinar como pintar um controle desenhado pelo proprietário ou item de menu. A janela do proprietário do controle desenhado pelo proprietário ou item de menu recebe um ponteiro para essa estrutura como o parâmetro lParam da mensagem WM_DRAWITEM. |
MEASUREITEMSTRUCT | Informa o sistema das dimensões de um controle desenhado pelo proprietário ou item de menu. Isso permite que o sistema processe a interação do usuário com o controle corretamente. |
Constantes
Tópico | Índice |
---|---|
Estilos de caixa de combinação | Para criar uma caixa de combinação usando o CreateWindow ou função de CreateWindowEx, especifique a classe COMBOBOX, constantes de estilo de janela apropriadas e uma combinação dos seguintes estilos de caixa de combinação. |