禁用CMFCRibbonApplicationButton的單擊和雙擊事件

爲了禁用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));

就能夠了。

相關文章
相關標籤/搜索