首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MFC CMFCVisualManager覆盖

MFC CMFCVisualManager覆盖
EN

Stack Overflow用户
提问于 2015-09-26 04:55:40
回答 1查看 873关注 0票数 0

我正在尝试覆盖CMFCVisualManager上的一些函数以自定义我的功能区。所以我创建了一个类并从它派生出来。

代码语言:javascript
复制
void CMyVisualManager::OnDrawRibbonCategory(CDC* pDC, CMFCRibbonCategory* pCategory, CRect rectCategory)

现在,它可以工作,可以改变颜色等,但有一些函数,我不能或覆盖或没有正确地做它,如

代码语言:javascript
复制
void CMyVisualManager::OnDrawRibbonLaunchButton(CDC* pDC, CMFCRibbonLaunchButton* pButton, CMFCRibbonPanel* pPanel)

我的方法不会覆盖原始函数,并且会调用原始函数

https://msdn.microsoft.com/en-us/subscriptions/downloads/65a24718-8128-43f9-973d-25262bdceae7(v=vs.90)表示,它可以被覆盖。

如果有人能为我指明正确的方向,我一直在寻找,但没有找到答案,谢谢

EN

回答 1

Stack Overflow用户

发布于 2015-09-28 17:04:43

是的,你在你的类中覆盖了一个函数。

但是你的可视化管理器不是被创建的那个。所以它永远不会被使用。当您的程序启动时,将创建可视化管理器的一个实例。并使用此实例。

只有当您还强制MFC使用可视化管理器时,才会使用您的重写函数。

在程序的InitInstance中,将SetDefaultManager与您的类的运行时类一起使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32790528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档