MFC Ribbon下禁用状态栏CMyRibbonBar右键,快速访问工具(CMFCRibbonQuickAccessToolBar),关闭ApplicationButton响应
2017-04-07 17:43
981 查看
1、禁用CMyRibbonBar右键
新建CMyRibbonBar 类,继承CMFCRibbonBar,重载OnShowRibbonContextMenu。
在MainFrm.h中定义
使用CMyRibbonBar 类的对象,同时重载OnShowRibbonContextMenu函数,屏蔽(禁用、劫取)鼠标在CMFCRibbonBar上的右键相应函数。
2、去除快速访问工具(CMFCRibbonQuickAccessToolBar)
在MainFrm.cpp中的OnCreate下添加:
3、关闭ApplicationButton响应
新建CMyRibbonApplicationButton类,继承CMFCRibbonApplicationButton,重载OnLButtonDown和OnLButtonDblClk。
在MainFrm.cpp中的OnCreate下添加:
本文所讲方法,都是新建继承MFC类,重载消息相应函数,达到屏蔽或劫取消息的目的。本文三种方法亲测可行。
新建CMyRibbonBar 类,继承CMFCRibbonBar,重载OnShowRibbonContextMenu。
//屏蔽CMFCRibbonBar中的右键菜单,重载OnShowRibbonContextMenu(); class CMyRibbonBar : public CMFCRibbonBar { protected: virtual BOOL OnShowRibbonContextMenu(CWnd* pWnd, int x, int y, CMFCRibbonBaseElement* pHit) { return FALSE; } };
在MainFrm.h中定义
CMyRibbonBar m_wndRibbonBar;
使用CMyRibbonBar 类的对象,同时重载OnShowRibbonContextMenu函数,屏蔽(禁用、劫取)鼠标在CMFCRibbonBar上的右键相应函数。
2、去除快速访问工具(CMFCRibbonQuickAccessToolBar)
在MainFrm.cpp中的OnCreate下添加:
m_wndRibbonBar.Create(this, WS_CHILD | WS_VISIBLE | (CBRS_TOP)); m_wndRibbonBar.LoadFromResource(IDR_RIBBON); //隐藏快速访问…… CMFCRibbonQuickAccessToolBar* pQAToolbar = m_wndRibbonBar.GetQuickAccessToolbar(); pQAToolbar->RemoveAll(); //隐藏快速访问……
3、关闭ApplicationButton响应
新建CMyRibbonApplicationButton类,继承CMFCRibbonApplicationButton,重载OnLButtonDown和OnLButtonDblClk。
//为了禁用CMFCRibbonApplicationButton的单击和双击事件 class CMyRibbonApplicationButton : public CMFCRibbonApplicationButton { public: CMyRibbonApplicationButton() { }; //~CMyRibbonApplicationButton(); protected: virtual void OnLButtonDown(CPoint point) { return; } virtual void OnLButtonDblClk(CPoint point) { return; } };
在MainFrm.cpp中的OnCreate下添加:
m_wndRibbonBar.Create(this, WS_CHILD | WS_VISIBLE | (CBRS_TOP)); m_wndRibbonBar.LoadFromResource(IDR_RIBBON); //隐藏快速访问 CMFCRibbonQuickAccessToolBar* pQAToolbar = m_wndRibbonBar.GetQuickAccessToolbar(); pQAToolbar->RemoveAll(); //关闭ApplicationButton响应,劫取鼠标单、双击消息 CMFCRibbonApplicationButton* pMainButton = m_wndRibbonBar.GetApplicationButton(); delete pMainButton; //删除框架自动生成的RibbonApplicationButton CMyRibbonApplicationButton* pMyMainButton = new CMyRibbonApplicationButton(); pMyMainButton->SetImage(IDB_MAIN); m_wndRibbonBar.SetApplicationButton(pMyMainButton, CSize(45, 45));
本文所讲方法,都是新建继承MFC类,重载消息相应函数,达到屏蔽或劫取消息的目的。本文三种方法亲测可行。
相关文章推荐
- MFC如何隐藏RibbonBar的QAT QuickAccessToolBar(快速访问工具栏)
- CMFCRibbonBar hide QuickAccessToolbar
- 如何隐藏RibbonBar的QAT QuickAccessToolBar
- 隐藏 RibbonBar的QuickAccessToolBar
- WPF 4 Ribbon 开发 之 快捷工具栏(Quick Access Toolbar)
- WPF 4 Ribbon 开发 之 快捷工具栏(Quick Access Toolbar)
- WPF 4 Ribbon 开发 之 快捷工具栏(Quick Access Toolbar)
- WPF 4 Ribbon 开发 之 快捷工具栏(Quick Access Toolbar)
- WPF 4 Ribbon 开发 之 快捷工具栏(Quick Access Toolbar)
- Win8用Ribbon Disabler工具关闭Ribbon功能区界面
- VC 2010+MFC:CMFCToolBar和CMFCMenuBar的字体大小修改
- 已禁用对分布式事务管理器(MSDTC)的网络访问。请使用组件服务管理工具启用 DTC 以便在 MSDTC 安全配置中进行网络访问。
- DrGraph软件升级:Quick Access Toolbar
- (转载)VS2010/MFC编程入门之五十三(Ribbon界面开发:为Ribbon Bar添加控件)
- [开源]QuickSwitchSVNClient,快速完成SVN Switch的工具
- 【7】AccessDB快速数据访问
- vs工具菜单和右键菜单透明不能访问的问题解决方法
- MFC界面库BCGControlBar新版功能详解一:Ribbon Bar
- 在mfc中,设置一个隐藏菜单栏,工具栏,状态栏,最大化、最小化、关闭按钮的窗体
- JQuickDown JAVA写的高效快速的下载工具