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. Uma 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.
Súmulas
Tópico | Conteúdo |
---|---|
sobre caixas de combinação | Esta seção discute os diferentes tipos de caixas de combinação. |
Recursos da caixa de combinação | 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 | Conteúdo |
---|---|
DlgDirListComboBox | Substitui o conteúdo de uma caixa de combinação pelos 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ção DlgDirListComboBox. 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 | Conteúdo |
---|---|
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 será inserida na lista e a lista será 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 e um conjunto de atributos de arquivo especificados. 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 caixas de combinação que tem os dados de 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 da faixa de sinalização exibido no controle de edição de uma caixa de combinação. Use essa 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 de 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 (interface do usuário) 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 em busca de 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 da faixa de sinalização exibido para o controle de edição de uma caixa de combinação. |
ComboBox_SetCurSel | Define o item selecionado no momento 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 (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. 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 | Conteúdo |
---|---|
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 será inserida na lista e a lista será 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 e um conjunto de atributos de arquivo especificados.
CB_DIR também pode adicionar letras de unidade mapeadas à lista. |
CB_FINDSTRING | Pesquisa a caixa de listagem de uma caixa de combinação para um item que começa com os caracteres em uma cadeia de caracteres especificada. |
CB_FINDSTRINGEXACT | Localiza a primeira cadeia de caracteres de 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 da faixa de sinalização exibido no controle de edição de uma caixa de combinação. Envie essa 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 de 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 é descartada. |
CB_GETDROPPEDWIDTH | Obtém a largura mínima permitido, 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 de caractere 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 será aplicável somente 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 de classificação correta do texto exibido para caixas de combinação com o estilo CBS_SORT e o texto adicionados 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 poderá 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. Essa mensagem aloca memória para armazenar itens de 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 a lista de 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, ele será selecionado e copiado para o controle de edição. |
CB_SETCUEBANNER | Define o texto da faixa de sinalização 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 permitido, 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, desabilitado. |
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 de rolagem máximo 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 tenha o estilo CBS_DROPDOWN ou CBS_DROPDOWNLIST. |
Notificações
Tópico | Conteúdo |
---|---|
CBN_CLOSEUP | O código de notificação CBN_CLOSEUP é enviado quando a caixa de listagem de uma caixa de combinação é fechada. A janela pai da caixa de combinação recebe esse código de notificação por meio 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 por meio 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 ficar visível. A janela pai da caixa de combinação recebe esse código de notificação por meio da mensagem WM_COMMAND. |
CBN_EDITCHANGE | O código de notificação CBN_EDITCHANGE é enviado depois que o usuário executar 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, esse 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 por meio 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 texto alterado. Esse código de notificação é enviado depois que o controle formata o texto, mas antes de exibir o texto. A janela pai da caixa de combinação recebe esse código de notificação por meio 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 por meio 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 por meio 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 direção. 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. Isso 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 por meio 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 fecha a lista. Indica que a seleção do usuário deve ser processada. A janela pai da caixa de combinação recebe esse código de notificação por meio 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 por meio 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 classificada 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 ao 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 desenhado pelo proprietário, caixa de combinação, caixa de listagem ou menu quando um aspecto visual do botão, caixa de combinação, caixa de listagem ou menu for 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 | Conteúdo |
---|---|
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 à janela do proprietário para determinar como pintar um controle desenhado pelo proprietário ou item de menu. A janela proprietário do controle ou item de menu desenhado pelo proprietário 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 ou item de menu desenhado pelo proprietário. Isso permite que o sistema processe a interação do usuário com o controle corretamente. |
Constantes
Tópico | Conteúdo |
---|---|
estilos de caixa de combinação | Para criar uma caixa de combinação usando a função CreateWindow ou CreateWindowEx, especifique a classe COMBOBOX, as constantes de estilo de janela apropriadas e uma combinação dos estilos de caixa de combinação a seguir. |