1. 添加资源,新加一个ToolBar的资源 IDR_TOOLBAR_SEARCH,并在此工具栏上再加上一个项:取ID为:ID_SEARCH
2. 在MainFrm类中加入如下代码:
变量:

CMFCToolBar m_wndToolBarSearch;

方法:

CMFCToolBarComboBoxButton *m_comboButton;
afx_msg LRESULT OnToolbarReset(WPARAM,LPARAM);
afx_msg void OnSelChangeClick();
afx_msg void OnClickComboBox();

3. 在MainFrm的消息映射中加入如下代码:

ON_REGISTERED_MESSAGE(AFX_WM_RESETTOOLBAR, OnToolbarReset)
ON_COMMAND(ID_SEARCH, &CMainFrame::OnClickComboBox)
ON_CBN_SELCHANGE(ID_SEARCH,&CMainFrame::OnSelChangeClick)

4. 在MainFrm的构造函数中修改如下:

CMainFrame::CMainFrame() : m_comboButton( NULL )

5. 在MainFrm的析构函数中加入:

if ( NULL != m_comboButton )
{delete m_comboButton;m_comboButton = NULL;
}
else ;

6. 添加消息响应函数的实现

LRESULT CMainFrame::OnToolbarReset(WPARAM wp,LPARAM lp)
{   if ( NULL == m_comboButton ){m_comboButton = new CMFCToolBarComboBoxButton(ID_SEARCH, GetCmdMgr ()->GetCmdImage(ID_SEARCH, FALSE), CBS_DROPDOWN);}else ;m_comboButton->EnableWindow(TRUE);m_comboButton->SetCenterVert();m_comboButton->SetDropDownHeight(10);m_comboButton->SetFlatMode();m_comboButton->AddItem(_T("OPTION1"));m_comboButton->AddItem(_T("OPTION2"));m_comboButton->SelectItem(0);m_wndToolBarSearch.ReplaceButton (ID_SEARCH, *m_comboButton);return 0;
}void CMainFrame::OnSelChangeClick()
{MessageBox( _T("OnSelChangeClick.") );
}void CMainFrame::OnClickComboBox()
{CMFCToolBarComboBoxButton* pSrcCombo = CMFCToolBarComboBoxButton::GetByCmd (ID_SEARCH, TRUE);int index = m_comboButton->GetCurSel();index = pSrcCombo->GetCurSel();CString str;pSrcCombo->GetEditCtrl()->GetWindowText( str );pSrcCombo->AddItem(str);MessageBox( _T("OnClickComboBox: ") + str );
}

7. 在MainFrm的OnCreate中的适当地方添加创建的代码:

if (!m_wndToolBarSearch.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC, CRect(1, 1, 1, 1), IDR_TOOLBAR_SEARCH) ||!m_wndToolBarSearch.LoadToolBar(theApp.m_bHiColorIcons ? IDR_TOOLBAR_SEARCH : IDR_TOOLBAR_SEARCH)){TRACE0("未能创建工具栏\n");return -1;      // 未能创建
}
//
m_wndToolBarSearch.SetWindowText( _T("Search") );
//
m_wndToolBarSearch.EnableCustomizeButton(TRUE, ID_VIEW_CUSTOMIZE, strCustomize);
//
m_wndToolBarSearch.EnableDocking(CBRS_ALIGN_ANY);
//
DockPane(&m_wndToolBarSearch);

转载于:https://www.cnblogs.com/junx1989/archive/2012/07/24/junx1989_20120724102359.html

VS2010在工具栏上创建查找组合框,即:CMFCToolBar中加入CMFCToolBarComboBoxButton相关推荐

  1. 【Excel】使用定义名称+数据验证创建二级组合框

    [Excel]使用定义名称+数据验证创建二级组合框 在Excel中创建如下样式的二级组合下拉选项框 1.创建二级名称 为学院及专业创建二级名称: 全选要处理的区域->公式->根据所选内容创 ...

  2. excel 中vb组合框_Excel表中的数据验证组合框

    excel 中vb组合框 There are instructions on my Contextures website for using a combo box with data valida ...

  3. vs2010 删除工具栏上图标

          VS2010 中如果要删除工具栏上多余的图标,直接用DEL 键,或右键菜单中的删除选项,却不能完全删除完,删除后留下了,黑块,图标不见,命令照常执行,后来我左键按住不放,往工具条外一拉就删 ...

  4. php中怎样表示组合框,PHP-从带有组合框的表中获取数据(Codeigniter...

    我想从表kendala获取数据N_KENDALA.表" Kendala"与表" Pelayanan"联接 这是我的控制器-> pelayanan.php ...

  5. python中组合框_Tkinter Python中的多个组合框

    我试图用一个配置文件"文件配置.ini文件数据是: 优先级1=正常:farty-blobble-fx.wav:2 优先权8=Reclamacao:buzzy-blop.wav:3 优先级3= ...

  6. 在linux桌面上创建一个文本,如何在Ubuntu中创建文档

    有几种方法可以在Ubuntu中使用GUI和命令行创建文档.所有这些方法都非常简单易用.您可能早些时候已在Ubuntu中将这些方法用于其他目的.但是,在本文中,我们将向您展示在Ubuntu中创建文档的8 ...

  7. 【MFC】带组合框的工具栏

    00. 目录 文章目录 00. 目录 01. 案例概述 02. 开发环境 03. 关键技术 04. 程序设计 05. 秘笈心法 06. 源码下载 07. 附录 01. 案例概述 在Office软件中经 ...

  8. java 创建组合框_java列表框和组合框中的Swing如何使用

    列表框和组合框在Swing中工作就像它们在老的AWT中工作一样,但如果我们需要它,它们同样被增加功能.另外,它也更加的方便易用.例如,JList中有一个显示String数组的构建器(奇怪的是同样的功能 ...

  9. 【MFC】学习笔记:常用控件之组合框(Combo Box)

    01.目录 目录 01.目录 02.控件介绍 03.控件的消息通知函数 04.创建组合框控件及成员函数介绍 4.1 组合框的创建 4.2 CComboBox类的主要成员函数 05.应用实例 06.总结 ...

最新文章

  1. 乐乐茶完成近2亿元Pre-A轮融资,祥峰投资领投
  2. vue 2个方法先后执行_演讲你早该知道的2个演讲方法
  3. xmpp muc 群聊协议 1
  4. php多用户商城,php多用户商城选择开源的好
  5. 转载:一文带你入门统计学(附资源)
  6. 科大星云诗社动态20220104
  7. ATEN命令--北大青鸟benet课程
  8. 红帽Openshift:入门–云中的Java EE6
  9. 重磅! flutter视图局部更新
  10. aiohttp进阶教程
  11. MyBatis之使用XML配置SQL映射(二)CRUD映射配置
  12. (转)洞见 | 为什么银行不愿意坐上Fintech这列过山车?
  13. 大学计算机应用技术专业周记,计算机应用技术实习周记.doc
  14. 看程序员如何使用Python快速给视频添加字幕
  15. 软件人才应具备的五种素质
  16. 使用蓝湖UI效果图网站工具下载图标进行压缩
  17. 计算机开机硬件检查,开机bios检测硬件信息方法
  18. 日本80年代芯片战后二次决战
  19. OpenDRIVE文件格式详解
  20. 排序(基于Java语言编写)

热门文章

  1. android悬浮动态权限,android应用内悬浮窗-自动贴边,不需要权限!
  2. dnf用虚拟机会被制裁吗_差点把DNF搞关服的私服,这次终于被大话西游手游拿下了...
  3. pic16f630 c语言编程,PIC16f630简单练习程序
  4. 简单介绍SQL中ISNULL函数使用方法
  5. XML CDATA概述
  6. 在 CentOS 8 中删除旧的 Linux 内核
  7. stm32单片机入门视频教程看哪个?一般用什么软件编程比较好?
  8. qt获取窗口的右上角位置_如何获得 Qt窗口部件在主窗口中的位置--确定鼠标是否在某一控件上与在控件上的位置...
  9. JavaScript初学者编程题(4)
  10. ftp服务器版本信息可被获取,ftp服务器版本信息可被获取