Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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. |