为了禁用CMFCRibbonApplicationButton的单击和双击事件,我重载了CMFCRibbonApplicationButton以下:框架
1. MyRibbonApplicationButton.h文件内容:函数
#pragma oncespa
class CMyRibbonApplicationButton :
public CMFCRibbonApplicationButton
{
public:
CMyRibbonApplicationButton();
//~CMyRibbonApplicationButton();事件
protected:
virtual void OnLButtonDown(CPoint point);
virtual void OnLButtonDblClk(CPoint point);
};io
2. MyRibbonApplicationButton.cpp文件内容:class
#include "stdafx.h"
#include "MyRibbonApplicationButton.h"文件
CMyRibbonApplicationButton::CMyRibbonApplicationButton()
{
}poi
//CMyRibbonApplicationButton::~CMyRibbonApplicationButton()
//{
//}vi
// CMyRibbonApplicationButton 成员函数
void CMyRibbonApplicationButton::OnLButtonDblClk(CPoint point)
{
return;
}let
void CMyRibbonApplicationButton::OnLButtonDown(CPoint point)
{
return;
}
3.
在CMainFrame的中的OnCreate函数中找到
m_wndRibbonBar.LoadFromResource(IDR_RIBBON);
在这一行的下面添加
CMFCRibbonApplicationButton* pMainButton = m_wndRibbonBar.GetApplicationButton();
delete pMainButton; //删除框架自动生成的RibbonApplicationButton
CMyRibbonApplicationButton* pMyMainButton = new CMyRibbonApplicationButton();
pMyMainButton->SetImage(IDB_MAIN);
m_wndRibbonBar.SetApplicationButton(pMyMainButton, CSize(45, 45));
就能够了。