博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MFC工具栏按钮下拉
阅读量:4110 次
发布时间:2019-05-25

本文共 1521 字,大约阅读时间需要 5 分钟。

1. 首先在CMainFrame::OnCreate 函数下添加如下代码,让工具栏有下拉能力和向下的箭头按钮;    

// 让工具栏具有处理下拉箭头的能力    DWORD dwExStyle = TBSTYLE_EX_DRAWDDARROWS;    m_wndToolBar.GetToolBarCtrl().SendMessage(TB_SETEXTENDEDSTYLE, 0, (LPARAM)dwExStyle);// 选定的地方添加下拉箭头按钮,其中ID_SOUCANG为对应的工具栏按钮ID DWORD dwStyle = m_wndToolBar.GetButtonStyle(m_wndToolBar.CommandToIndex(ID_SOUCANG));   dwStyle |= TBSTYLE_DROPDOWN;m_wndToolBar.SetButtonStyle(m_wndToolBar.CommandToIndex(ID_SOUCANG),dwStyle);

注:需要加下拉菜单的按钮必须一直保持可用状态,这个可以将按钮关联到某个菜单中,也可以给按钮添加UPDATE_COMMOND_UI函数,并添加一下代码:

void CMainFrame::OnUpdateSoucang(CCmdUI* pCmdUI) {     // TODO: Add your command update UI handler code here     pCmdUI->Enable(TRUE); }

2. 在MainFrame.cpp中添加:  

ON_NOTIFY(TBN_DROPDOWN,AFX_IDW_TOOLBAR, OnToolbarDropDown)
在MainFrame.h中分别添加: 

afx_msg voidOnToolbarDropDown(NMTOOLBAR* pnmh, LRESULT* plRes);

其函数体代码如下:

void OnToolbarDropDown(NMTOOLBAR* pnmh, LRESULT* plRes){    CWnd *pWnd;     UINT nID;     switch(pnmtb->iItem)      {              case ID_SOUCANG:                       pWnd = &m_wndToolBar;        nID = IDR_MAINFRAME;                       break;              default:                       return;    }         // load and display popup menu              CMenu menu;              menu.LoadMenu(nID);              CMenu* pPopup = menu.GetSubMenu(3);              ASSERT(pPopup);     CRect rc;    pWnd->SendMessage(TB_GETRECT, pnmtb->iItem,(LPARAM)&rc);    pWnd->ClientToScreen(&rc);    pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_LEFTBUTTON | TPM_VERTICAL, rc.left, rc.bottom, this, &rc);}

转载地址:http://cxtsi.baihongyu.com/

你可能感兴趣的文章
MySQL中批改暗码及拜访限定设置详解-1
查看>>
Oracle数据垄断和节制言语详解-3
查看>>
投靠Linux第一步 Windows数据向Linux迁徙(3)
查看>>
今晚装了个红旗LINUX6.0系统
查看>>
cGmail — 主动反省邮件
查看>>
http协议get方法获取图片并保存到本地
查看>>
OS的发展和分类
查看>>
线性表完整代码
查看>>
Solr4.7从数据库导数据
查看>>
作业4
查看>>
Python assert断言
查看>>
如何点击链接直接跳转到app store指定应用下载页面
查看>>
crontab 安装 和一些 简单的命令
查看>>
iOS的反射机制之方法调用
查看>>
sharepoint更新多行文本webparth
查看>>
《步步惊“芯”——软核处理器内部设计分析》前两章读书笔记
查看>>
ifconfig命令
查看>>
git教程
查看>>
avaweb(三十二)——JDBC学习入门
查看>>
Maven学习(七)-----Maven添加远程仓库
查看>>