关于删除ribbon左上角QAT总结

来源:互联网 发布:钢楼梯计算软件 编辑:程序博客网 时间:2024/05/21 03:27

在网上查阅资料,发现两种方法。

方法一:

进入资源文件夹下面,用文本编辑器打开Ribbon的定义文件ribbon.mfcribbon-ms,然后删除<QAT_ELEMENTS>...</QAT_ELEMENTS>这一段,即删除QAT工具条的定义代码,就把整个QAT工具条删除了

方法二:利用重载函数

重载这个函数:virtual BOOL LoadFromResource(UINT uiXMLResID, LPCTSTR lpszResType = RT_RIBBON, HINSTANCE hInstance = NULL);cpp中:BOOL CMyRibbonBar::LoadFromResource(UINT uiXMLResID, LPCTSTR lpszResType , HINSTANCE hInstance) {BOOL bl= CMFCRibbonBar::LoadFromResource( uiXMLResID,lpszResType , hInstance );m_QAToolbar.RemoveAll();return bl; }重载这个去掉右键Ribbonbar弹出快速工具栏的菜单virtual BOOL OnShowRibbonContextMenu(CWnd* pWnd, int x, int y, CMFCRibbonBaseElement* pHit); BOOL CMyRibbonBar::OnShowRibbonContextMenu(CWnd* pWnd, int x, int y, CMFCRibbonBaseElement* pHit) {     ///这里可以添加自己的代码,以弹出自定义菜单  return TRUE; }


对于方法一,对其资源文件删除之后,QAT依然存在,资源文件中的代码已经删除却可以自动生成,这里不知道为何?

方法二尝试之后报错,原因有二

.


如上图所示,这里的报错是因为我的构造函数和析构函数在这里声明却没有在别的地方定义,下边的loadfromresource也同理,都要声明后定义才不会出错。


错误二:

当在头文件中调用类来实例化对象,这个类的声明必须放在实例化对象之前,不然会报错

0 0
原创粉丝点击