Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Estende o controle de caixa de combinação fornecendo suporte para listas de imagens.
Sintaxe
class CComboBoxEx : public CComboBox
Membros
Construtores Públicos
| Nome | Description |
|---|---|
| CComboBoxEx::CComboBoxEx | Constrói um CComboBoxEx objeto. |
Métodos Públicos
| Nome | Description |
|---|---|
| CComboBoxEx::Create | Cria a caixa combinada e prende-a ao CComboBoxEx objeto. |
| CComboBoxEx::CreateEx | Cria uma caixa combinada com os estilos Windows estendidos especificados e anexa-a a um ComboBoxEx objeto. |
| CComboBoxEx::D eleteItem | Remove um item de um ComboBoxEx controlo. |
| CComboBoxEx::GetComboBoxCtrl | Recupera um ponteiro para o controlo da caixa combinada filha. |
| CComboBoxEx::GetEditCtrl | Recupera o handle para a parte de controlo de edição de um ComboBoxEx controlo. |
| CComboBoxEx::GetExtendedStyle | Recupera os estilos estendidos que são usados para um ComboBoxEx controlo. |
| CComboBoxEx::GetImageList | Recupera um ponteiro para a lista de imagens atribuída a um ComboBoxEx controlo. |
| CComboBoxEx::GetItem | Recupera informação do item para um determinado ComboBoxEx item. |
| CComboBoxEx::HasEditChanged | Determina se o utilizador alterou o conteúdo do ComboBoxEx controlo de edição ao escrever. |
| CComboBoxEx::InsertItem | Insere um novo item num ComboBoxEx controlo. |
| CComboBoxEx::SetExtendedStyle | Define estilos estendidos dentro de um ComboBoxEx controlo. |
| CComboBoxEx::SetImageList | Define uma lista de imagens para um ComboBoxEx controlo. |
| CComboBoxEx::SetItem | Define os atributos de um item num ComboBoxEx controlo. |
| CComboBoxEx::SetWindowTheme | Define o estilo visual do controlo da caixa de combo estendida. |
Observações
Ao usar CComboBoxEx para criar controlos de combo, já não precisa de implementar o seu próprio código de desenho de imagem. Em vez disso, use CComboBoxEx para aceder a imagens de uma lista de imagens.
Suporte para Listas de Imagens
Numa caixa de combo padrão, o proprietário da caixa de combo é responsável por desenhar uma imagem criando a caixa de combo como um controlo de saque do dono. Quando usas CComboBoxEx, não precisas de definir os estilos de desenho CBS_OWNERDRAWFIXED e CBS_HASSTRINGS porque estão implícitos. Caso contrário, terá de escrever código para realizar operações de desenho. Um controlo suporta CComboBoxEx até três imagens por item: uma para um estado selecionado, uma para um estado não selecionado e uma para uma imagem sobreposta.
Estilos
CComboBoxEx suporta os estilos CBS_SIMPLE, CBS_DROPDOWN, CBS_DROPDOWNLIST e WS_CHILD. Todos os outros estilos passados quando crias a janela são ignorados pelo controlo. Depois de criada a janela, pode fornecer outros estilos de combo boxes chamando à CComboBoxEx função membro SetExtendedStyle. Com estes estilos, pode:
Defina as pesquisas de cadeias na lista para serem distinguíveis de maiúsculas e maiúsculas.
Crie um controlo de caixa de combo que use os caracteres de barra ('/'), barra inversa ('\') e ponto ('.') como delimitadores de palavras. Isto permite aos utilizadores saltar de palavra em palavra, usando o atalho de teclado CTRL+ ARROW.
Defina o controlo da caixa combinada para mostrar ou não mostrar uma imagem. Se não for exibida a imagem, a caixa combinada pode remover a indentação do texto que acomoda a imagem.
Cria um controlo de caixa combo estreito, incluindo dimensioná-lo para que encaixe a caixa de combo mais larga que contém.
Estas flags de estilo são descritas mais detalhadamente em Using CComboBoxEx.
Retenção de Itens e Atributos de Retorno
A informação dos itens, como índices de itens e imagens, valores de indentação e cadeias de texto, é armazenada na estrutura Win32 COMBOBOXEXITEM, conforme descrito no SDK do Windows. A estrutura também contém membros que correspondem a flags de callback.
Para uma discussão detalhada e conceptual, veja Utilização do CComboBoxEx.
Hierarquia de herança
CComboBoxEx
Requerimentos
Cabeçalho: afxcmn.h
CComboBoxEx::CComboBoxEx
Chame esta função membro para criar um CComboBoxEx objeto.
CComboBoxEx();
CComboBoxEx::Create
Cria a caixa combinada e prende-a ao CComboBoxEx objeto.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parâmetros
dwStyle
Especifica a combinação de estilos de combo box aplicados à combo box. Consulte as Observações abaixo para mais informações sobre estilos.
retângulo
Uma referência a um objeto CRect ou estrutura RECT , que é a posição e o tamanho da caixa combinada.
pParentWnd
Um apontador para um objeto CWnd que é a janela pai da caixa combo (normalmente um CDialog). Não pode ser NULL.
nID
Especifica o ID de controlo da caixa de combo.
Valor de retorno
Não nulo se o objeto foi criado com sucesso; caso contrário, 0.
Observações
Crie um CComboBoxEx objeto em dois passos:
Chame o CComboBoxEx para construir um
CComboBoxExobjeto.Chama esta função membro, que cria a caixa combinada estendida do Windows e a anexa ao
CComboBoxExobjeto.
Quando chamas Create, MFC inicializa os controlos comuns.
Ao criar a caixa de combo, pode especificar qualquer um ou todos os seguintes estilos de caixas de combo:
CBS_SIMPLE
CBS_DROPDOWN
CBS_DROPDOWNLIST
CBS_AUTOHSCROLL
WS_CHILD
Todos os outros estilos passados quando crias a janela são ignorados. O controlo ComboBoxEx também suporta estilos estendidos que oferecem funcionalidades adicionais. Estes estilos são descritos nos estilos estendidos de controlo ComboBoxEx, no SDK do Windows. Defina estes estilos chamando SetExtendedStyle.
Se quiseres usar estilos de janelas estendidas com o teu controlo, chama CreateEx em vez de Create.
CComboBoxEx::CreateEx
Chama esta função para criar um controlo de combo box estendido (uma janela filho) e associá-lo ao CComboBoxEx objeto.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parâmetros
dwExStyle
Especifica o estilo estendido do controlo que está a ser criado. Para uma lista de estilos estendidos do Windows, consulte o parâmetro dwExStyle para CreateWindowEx no SDK do Windows.
dwStyle
O estilo do controlo da caixa de combo. Consulte Criar para uma lista de estilos.
retângulo
Uma referência a uma estrutura RECT que descreve o tamanho e a posição da janela a criar, em coordenadas cliente de pParentWnd.
pParentWnd
Um apontador para a janela que é o pai do controlo.
nID
O ID da janela criança do controlo.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
Use CreateEx em vez de Create para aplicar estilos estendidos do Windows, especificados pelo prefácio do estilo estendido do Windows WS_EX_.
CreateEx cria o controlo com os estilos estendidos do Windows especificados pelo dwExStyle. Deve definir estilos estendidos específicos para um controlo de caixa de combo estendido usando o SetExtendedStyle. Por exemplo, use CreateEx para definir estilos como WS_EX_CONTEXTHELP, mas use SetExtendedStyle para definir estilos como CBES_EX_CASESENSITIVE. Para mais informações, consulte os estilos descritos no tópico ComboBoxEx Control Extended Styles no Windows SDK.
CComboBoxEx::D eleteItem
Remove um item de um ComboBoxEx controlo.
int DeleteItem(int iIndex);
Parâmetros
iIndex
Índice em base zero do item a ser removido.
Valor de retorno
O número de itens restantes no controlo. Se o iIndex for inválido, a função devolve CB_ERR.
Observações
Esta função membro implementa a funcionalidade do CBEM_DELETEITEM de mensagens, conforme descrito no SDK do Windows. Quando chama o DeleteItem, uma mensagem WM_NOTIFY com CBEN_DELETEITEM notificação é enviada para a janela principal.
CComboBoxEx::GetComboBoxCtrl
Chama esta função membro para obter um apontador para um controlo de combo box dentro de um CComboBoxEx objeto.
CComboBox* GetComboBoxCtrl();
Valor de retorno
Um ponteiro para um CComboBox objeto.
Observações
O CComboBoxEx controlo consiste numa janela pai, que encapsula um CComboBox.
O CComboBox objeto apontado pelo valor de retorno é um objeto temporário e é destruído durante o próximo tempo de processamento ocioso.
CComboBoxEx::GetEditCtrl
Chama esta função membro para obter um ponteiro para o controlo de edição de uma caixa de combo.
CEdit* GetEditCtrl();
Valor de retorno
Um apontador para um objeto CEdit .
Observações
Um controlo usa uma caixa de CComboBoxEx edição quando é criado com o estilo CBS_DROPDOWN.
O CEdit objeto apontado pelo valor de retorno é um objeto temporário e é destruído durante o próximo tempo de processamento ocioso.
CComboBoxEx::GetExtendedStyle
Chame esta função membro para obter os estilos estendidos usados para um CComboBoxEx controlo.
DWORD GetExtendedStyle() const;
Valor de retorno
O valor DWORD que contém os estilos estendidos usados para o controlo da caixa de combo.
Observações
Consulte ComboBoxEx Control Extended Styles no Windows SDK para mais informações sobre estes estilos.
CComboBoxEx::GetImageList
Chame esta função membro para obter um apontador para a lista de imagens usada por um CComboBoxEx controlo.
CImageList* GetImageList() const;
Valor de retorno
Um apontador para um objeto CImageList . Se falhar, esta função membro devolve NULL.
Observações
O CImageList objeto apontado pelo valor de retorno é um objeto temporário e é destruído durante o próximo tempo de processamento ocioso.
CComboBoxEx::GetItem
Recupera informação do item para um determinado ComboBoxEx item.
BOOL GetItem(COMBOBOXEXITEM* pCBItem);
Parâmetros
pCBItem
Um apontador para uma estrutura COMBOBOXEXITEM que receberá a informação do item.
Valor de retorno
Diferente de zero se a operação fosse bem-sucedida; caso contrário, 0.
Observações
Esta função membro implementa a funcionalidade do CBEM_GETITEM de mensagens, conforme descrito no SDK do Windows.
CComboBoxEx::HasEditChanged
Determina se o utilizador alterou o conteúdo do ComboBoxEx controlo de edição ao escrever.
BOOL HasEditChanged();
Valor de retorno
Diferente de zero se o utilizador tiver digitado na caixa de edição do controlo; caso contrário, 0.
Observações
Esta função membro implementa a funcionalidade do CBEM_HASEDITCHANGED de mensagens, conforme descrito no SDK do Windows.
CComboBoxEx::InsertItem
Insere um novo item num ComboBoxEx controlo.
int InsertItem(const COMBOBOXEXITEM* pCBItem);
Parâmetros
pCBItem
Um apontador para uma estrutura COMBOBOXEXITEM que receberá a informação do item. Esta estrutura contém valores de flag de callback para o item.
Valor de retorno
O índice onde o novo item foi inserido, se bem-sucedido; caso contrário -1.
Observações
Quando ligar, InsertItemuma mensagem WM_NOTIFY com CBEN_INSERTITEM notificação será enviada para a janela principal.
CComboBoxEx::SetExtendedStyle
Chame esta função membro para definir os estilos estendidos usados para um controlo estendido de uma caixa combo.
DWORD SetExtendedStyle(
DWORD dwExMask,
DWORD dwExStyles);
Parâmetros
dwExMask
Um valor DWORD que indica quais estilos em dwExStyles devem ser afetados. Apenas os estilos estendidos no dwExExMask serão alterados. Todos os outros estilos serão mantidos como estão. Se este parâmetro for zero, então todos os estilos em dwExStyles serão afetados.
dwExStyles
Um valor DWORD que contém o controlo da caixa de combo estendeu estilos para definir para o controlo.
Valor de retorno
Um valor DWORD que contém os estilos estendidos anteriormente usados para o controlo.
Observações
Consulte ComboBoxEx Control Extended Styles no Windows SDK para mais informações sobre estes estilos.
Para criar um combo box de controlo estendido com estilos de Windows estendidos, use o CreateEx.
CComboBoxEx::SetImageList
Define uma lista de imagens para um ComboBoxEx controlo.
CImageList* SetImageList(CImageList* pImageList);
Parâmetros
pImageList
Um apontador para um CImageList objeto contendo as imagens para usar com o CComboBoxEx controlo.
Valor de retorno
Um ponteiro para um objeto CImageList contendo as imagens anteriormente usadas pelo CComboBoxEx controlo. NULL se não tiver sido definida uma lista de imagens anteriormente.
Observações
Esta função membro implementa a funcionalidade do CBEM_SETIMAGELIST de mensagens, conforme descrito no SDK do Windows. Se mudares a altura do controlo de edição por defeito, chama a função Win32 SetWindowPos para redimensionar o controlo depois de chamares SetImageList, caso contrário não será exibido corretamente.
O CImageList objeto apontado pelo valor de retorno é um objeto temporário e é destruído durante o próximo tempo de processamento ocioso.
CComboBoxEx::SetItem
Define os atributos de um item num ComboBoxEx controlo.
BOOL SetItem(const COMBOBOXEXITEM* pCBItem);
Parâmetros
pCBItem
Um apontador para uma estrutura COMBOBOXEXITEM que receberá a informação do item.
Valor de retorno
Diferente de zero se a operação fosse bem-sucedida; caso contrário, 0.
Observações
Esta função membro implementa a funcionalidade do CBEM_SETITEM de mensagens, conforme descrito no SDK do Windows.
CComboBoxEx::SetWindowTheme
Define o estilo visual do controlo da caixa de combo estendida.
HRESULT SetWindowTheme(LPCWSTR pszSubAppName);
Parâmetros
pszSubAppName
Um apontador para uma string Unicode que contém o estilo visual de combo box estendido a definir.
Valor de retorno
O valor de retorno não é utilizado.
Observações
Esta função membro emula a funcionalidade da mensagem CBEM_SETWINDOWTHEME , conforme descrito no SDK do Windows.
Consulte também
MFCIE de Exemplo MFC
Classe CComboBox
Gráfico de Hierarquia
Classe CComboBox