CMDIChildWnd在Windows-10上的外观和感觉
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CMDIChildWnd在Windows-10上的外观和感觉相关的知识,希望对你有一定的参考价值。
我有一个MDI应用程序。它已经发展多年。在Windows-7上,一切看起来都很原生。当我在windows-10上启动应用程序时,正常的对话框将具有windows-10外观。但是所有的儿童视图仍然具有Windows-7的外观和感觉。
我试图从CMDIChildWnd更改为CMDIChildWndEx,但它对窗口外观没有任何影响(除了客户端rect周围的另一种边框样式)。我不想将所有子视图更改为停靠窗格,因为它会改变用户体验。我只想拥有儿童视图的原生外观。
这甚至可能吗?我可以轻松迁移到docker窗口并将它们配置为像普通窗口一样(根本没有对接功能,最小/最大/恢复按钮)?
默认情况下,这没有完成。 MDI子窗口的默认实现只是以旧样式绘制窗口。
在查看MFC Next的源代码时,应该可以通过OnNcPaint实现它。
CMDIChildWndEx已经实现了OnNcPaint。当您在CMFCVisualManager :: GetInstance() - > IsOwnerDrawCaption()上使用返回TRUE的样式时,可视化管理器已经绘制了标题和框架。
所有组件都在那里。也许强制m_Impl.OnNcPaint总是被调用就足够了。因此,创建自己的MDI子窗口类并强制MDI系统使用它。 (请参阅您的doc模板类)。
如果这还不够,您可以调用可视化工具的所有组件来自己绘制框架。
PS:我刚刚在BCG实现中重新检查它,我可以用不同的风格显示MDI子窗口。
以上是关于CMDIChildWnd在Windows-10上的外观和感觉的主要内容,如果未能解决你的问题,请参考以下文章
Windows 10上的IE 11 VS 10上的Windows 11
在 Windows 10 上的 WSL2 上使用 JDK 的正确方法是啥?