【发布时间】:2012-06-12 07:51:36
【问题描述】:
我正在寻找类似这样的搜索框控件
MFC 中是否有可用的控件,或者我们需要创建自己的控件,
我们可以参考任何示例/参考代码,我尝试使用谷歌搜索,但我更多的是获得 CEditComboBox 示例而不是这种类型的控件。
提前致谢
【问题讨论】:
标签: visual-c++ mfc cedit
我正在寻找类似这样的搜索框控件
MFC 中是否有可用的控件,或者我们需要创建自己的控件,
我们可以参考任何示例/参考代码,我尝试使用谷歌搜索,但我更多的是获得 CEditComboBox 示例而不是这种类型的控件。
提前致谢
【问题讨论】:
标签: visual-c++ mfc cedit
如果你使用的是 VS2008 SP1 或更高版本,你有CMFCEditBrowseCtrl。
这是一个带有按钮的编辑控件。当您按下按钮时,它具有内置的“浏览文件”或“浏览文件夹”操作,但您可以创建自己的自定义操作(搜索),也可以自定义按钮图像。
查看EnableBrowseButton 和OnBrowse 上的文档以了解如何自定义操作,并查看SetBrowseButtonImage 以自定义图像。
【讨论】:
除了在 CListBox 中进行搜索外,我还需要一个像这样的功能。 这是我在用户在编辑框中键入时使用 EN_CHANGE 通知所做的事情:
void 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); }
【讨论】: