【问题标题】:MFC Search Edit BoxMFC 搜索编辑框
【发布时间】:2012-06-12 07:51:36
【问题描述】:

我正在寻找类似这样的搜索框控件

MFC 中是否有可用的控件,或者我们需要创建自己的控件,

我们可以参考任何示例/参考代码,我尝试使用谷歌搜索,但我更多的是获得 CEditComboBox 示例而不是这种类型的控件。

提前致谢

【问题讨论】:

    标签: visual-c++ mfc cedit


    【解决方案1】:

    如果你使用的是 VS2008 SP1 或更高版本,你有CMFCEditBrowseCtrl

    这是一个带有按钮的编辑控件。当您按下按钮时,它具有内置的“浏览文件”或“浏览文件夹”操作,但您可以创建自己的自定义操作(搜索),也可以自定义按钮图像。

    查看EnableBrowseButtonOnBrowse 上的文档以了解如何自定义操作,并查看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);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多