首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows10上的CMDIChildWnd外观和感觉

Windows10上的CMDIChildWnd外观和感觉
EN

Stack Overflow用户
提问于 2015-10-23 08:19:04
回答 1查看 1.7K关注 0票数 2

我有一个MDI应用程序。它是多年来发展起来的。在Windows7上,一切看起来都是本地的。当我在windows-10上启动应用程序时,普通对话框将具有windows-10外观和感觉。但是所有的子视图仍然具有Windows7的外观和感觉。

我试图从CMDIChildWnd更改为CMDIChildWndEx,但它对窗口的外观和感觉没有任何影响(除了客户端rect周围的另一种边框样式)。我不想将所有子视图更改为停靠窗格,因为这将大大改变用户体验。我只想有一个本土的外观和感受儿童的看法。

这有可能吗?我是否可以轻松地迁移到停靠窗口,并将它们配置为像普通窗口那样运行(完全没有对接功能,min/max/restore按钮)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-30 11:20:15

默认情况下,这还没有完成。MDI子窗口的默认实现只绘制旧样式的窗口。

当查看MFC的源代码时,应该可以通过OnNcPaint实现它。

CMDIChildWndEx已经实现了OnNcPaint。当您使用在CMFCVisualManager::GetInstance()->IsOwnerDrawCaption()上返回TRUE的样式时,标题和框架已经由视觉管理器绘制。

所有部件都在那里。也许强制m_Impl.OnNcPaint总是被调用就足够了。因此,创建您自己的MDI子窗口类,并强制MDI系统使用它。(请参见文档模板类)。

如果这还不够,您可以调用可视化工具的所有组件来自己绘制框架。

PS:我刚刚在BCG实现中重新检查了它,我可以用不同的样式显示MDI子窗口。

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

https://stackoverflow.com/questions/33297775

复制
相关文章

相似问题

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