题
我需要在具有搜索功能的的Windows MFC应用程序的组合框。它应该工作,这样,如果你开始输入,列表中匹配一个或多个项目的东西,组合框应该下拉并显示这些项目。有点像在网络上流行的基于Ajax的搜索框
你 - 提供此功能的任何控制的知道吗? - 对如何创建自己这样的功能链接到的信息? - 对如何做到这一点的想法,你可以分享
解决方案
发现这一点:
http://www.codeguru.com/cpp/控制/组合框/ article.php / c1807 /
改名类,因为现在CComboBoxEx是MFC的一部分,并且在OnEditUpdate()。
加入ShowDropDown()调用其他提示
这是一个Win32 API的常见问题。 见进阶Win32 API的纳克新闻://194.177.96.26/comp.os.ms-windows.programmer.win32 (你并不需要在所有CBN_EDITCHANGE,它是自动与API)
完全访问组合框的编辑框:
CEdit *pEdit = (CEdit *)pComboBox->GetWindow(GW_CHILD);
的CEdit * PEDIT =(CEdit的*)pComboBox-> GetWindow(GW_CHILD);
我可以以类似的方式访问列表框的一部分?需要清除列表中的内容,例如使用ResetContent。
提供CBN_EDITCHANGE
事件的处理程序,处理程序willö被称为每次用户更改在编辑字段中的文本的时间。
在此处理程序,调用CComboBox::FindString()
方法,看看您的任何组合框的条目存在键入的文本。如果确实如此,呼叫CComboBox::SetCurSel()
来选择它。
不隶属于 StackOverflow