Pergunta

Eu preciso de um combobox em um aplicativo do Windows MFC que tem um recurso de pesquisa. Ele deve funcionar de modo que se você começar a digitar algo que corresponde a um ou mais itens na lista, a caixa de combinação deve suspensa e exibir esses itens. Kinda como caixas de pesquisa baseada em Ajax populares na web

Você - saber de qualquer controle que fornece essa funcionalidade? - tem um link para informações sobre como criar essa funcionalidade mim mesmo? - tem idéias sobre como fazer isso que você poderia compartilhar

?
Foi útil?

Solução

Encontrei este:

http://www.codeguru.com/cpp/ controles / combobox / article.php / c1807 /

rebatizado de classe desde CComboBoxEx agora faz parte do MFC, e acrescentou uma chamada ShowDropDown () in OnEditUpdate ().

Outras dicas

É uma api FAQ Win32. Veja Adv. Win32 API ng notícia: //194.177.96.26/comp.os.ms-windows.programmer.win32 (Você não precisa de todo CBN_EDITCHANGE. É automático com api)

Acesso total a caixa de edição da caixa de combinação:

CEdit *pEdit = (CEdit *)pComboBox->GetWindow(GW_CHILD);

CEdit * Pedit = (CEdit *) pComboBox-> GetWindow (GW_CHILD);

Posso obter acesso à parte de caixa de listagem de forma semelhante? Necessidade de limpar o conteúdo da lista, por exemplo, usando ResetContent.

Fornecer um manipulador para o evento CBN_EDITCHANGE, seu manipulador de Willo ser chamado cada vez que o usuário altera o texto no campo de edição.

Neste Handler, chamar o método CComboBox::FindString() para ver se o texto digitado existe em qualquer das suas entradas combobox. Se isso acontecer, CComboBox::SetCurSel() chamada para selecioná-lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top