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是同一个控件关联的CListBox
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);

【讨论】:

以上是关于MFC 搜索编辑框的主要内容,如果未能解决你的问题,请参考以下文章

mfc中如何设置编辑框\按钮的外观

mfc 动态更新编辑框内容

在mfc怎样在工具条中添加编辑框

mfc 如何使编辑框和变量关联

mfc EDIT编辑框即时在for循环中更新

MFC中如何给编辑框设置文本内容?