爲了禁用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));
就能夠了。