CMDIChildWnd 在 Windows-10 上的外观和感觉

CMDIChildWnd look & feel on Windows-10

本文关键字:外观 感觉 Windows-10 CMDIChildWnd      更新时间:2023-10-16

我有一个MDI应用。这是多年来发展起来的。在Windows-7上,一切看起来都是原生的。当我在windows-10上启动应用程序时,正常的对话框将具有windows-10的外观&的感觉。但所有子视图仍然具有Windows-7的外观& &;感觉。

我试图从CMDIChildWnd更改为CMDIChildWndEx,但它对窗口外观没有影响&感觉(除了客户端矩形周围的另一种边框样式)。我不想改变所有的子视图停靠窗格,因为它会改变用户体验很多。我只是想有一个本地的外观&查看子视图

这可能吗?我可以很容易地迁移到docker窗口,并配置他们的行为像正常的窗口(没有对接功能,最小/最大/恢复按钮)?

默认情况下不这样做。MDI子窗口的默认实现只是以旧的样式绘制窗口。

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

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

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

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

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