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.
Visões gerais
Tópico | Contents |
---|---|
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 | Contents |
---|---|
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çã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 | Contents |
---|---|
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 de 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 a 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 de 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 de 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 de 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 de 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 de 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 essa macro ou envie a mensagem de CB_GETCUEBANNER explicitamente. |
ComboBox_GetCurSel | Obtém o índice do item selecionado atualmente em uma caixa de combinação. Você pode usar essa macro ou enviar a mensagem de 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 de 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 de 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 de 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 de 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 de 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 de 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 de 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 de CB_LIMITTEXT explicitamente. |
ComboBox_ResetContent | Remove todos os itens da caixa de listagem e do controle de edição de uma caixa de combinação. Você pode usar essa macro ou enviar a mensagem de CB_RESETCONTENT explicitamente. |
ComboBox_SelectItemData | Pesquisa uma lista em uma caixa de combinação para um item que tenha os dados de item especificados. Se um item correspondente for encontrado, o item será selecionado. Você pode usar essa macro ou enviar a mensagem de 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 de 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 atualmente selecionado 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 de 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 de 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 de 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 | Contents |
---|---|
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 especificada e a um conjunto de atributos de arquivo. 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 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 essa mensagem explicitamente ou usando a macro ComboBox_GetCueBannerText. |
CB_GETCURSEL | Um aplicativo envia uma mensagem de 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 de 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 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 de 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 é utilizada para determinar a ordem de classificação correta do texto exibido para caixas de combinação com o estilo CBS_SORT e o texto adicionado por meio da 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. 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 do controle de edição 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 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 de 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 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 de 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 de CB_SETITEMDATA para definir o valor associado ao item especificado em uma caixa de combinação. |
CB_SETITEMHEIGHT | Um aplicativo envia uma mensagem de 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 de 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á como os itens de lista serão classificados. |
CB_SETMINVISIBLE | Um aplicativo envia uma mensagem de 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 de 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. |
Notifications
Tópico | Contents |
---|---|
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 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_UPDATE, 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 de WM_COMMAND com CBN_SELCHANGE na palavra de ordem alta 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, em seguida, 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 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 desenhado pelo proprietário quando um aspecto 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 | Contents |
---|---|
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 e 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 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 ao sistema as 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 | Contents |
---|---|
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 seguintes estilos de caixa de combinação. |