MFC 搜索编辑框
Posted
技术标签:
【中文标题】MFC 搜索编辑框【英文标题】:MFC Search Edit Box 【发布时间】:2012-06-12 07:51:36 【问题描述】:我正在寻找类似这样的搜索框控件
MFC 中是否有可用的控件,或者我们需要创建自己的控件,
我们可以参考任何示例/参考代码,我尝试使用谷歌搜索,但我更多的是获得 CEditComboBox 示例而不是这种类型的控件。
提前致谢
【问题讨论】:
【参考方案1】:如果你使用的是 VS2008 SP1 或更高版本,你有CMFCEditBrowseCtrl。
这是一个带有按钮的编辑控件。当您按下按钮时,它具有内置的“浏览文件”或“浏览文件夹”操作,但您可以创建自己的自定义操作(搜索),也可以自定义按钮图像。
查看EnableBrowseButton 和OnBrowse 上的文档以了解如何自定义操作,并查看SetBrowseButtonImage 以自定义图像。
【讨论】:
【参考方案2】:除了在 CListBox 中进行搜索外,我还需要一个像这样的功能。 这是我在用户在编辑框中键入时使用 EN_CHANGE 通知所做的事情:
m_sSearch 是与 CEdit 控件关联的 CString m_lbRequest是同一个控件关联的CListBoxvoid CRequestDlg::OnEnChangeEditSearch() UpdateData(TRUE); string sEdit = m_sSearch.GetBuffer(m_sSearch.GetLength()); string sTmp; for ( int n_pos = 0; n_pos < m_lbRequest.GetCount(); n_pos++ ) CString temp; m_lbRequest.GetText(n_pos, temp); sTmp = string(temp); if ( sTmp.find(m_sSearch) != string::npos ) m_lbRequest.SetCurSel(n_pos); break; UpdateData(FALSE);
【讨论】:
以上是关于MFC 搜索编辑框的主要内容,如果未能解决你的问题,请参考以下文章