【发布时间】:2018-03-30 20:13:32
【问题描述】:
如何控制 Windows 7 中 C++/MFC 对话框的视觉风格?
“之前”图片显示了我想要的,直到大约一周前都是这种情况。现在,我的对话框出现在“之后”图片中,这不是我想要的。
如何控制使用哪种样式?我找不到任何清单文件,也找不到控制这个的 VS 编译器或链接器选项中的任何选项。我的项目是使用 MFC 作为静态库构建的,而不是 Unicode。它在 Windows 7 下运行。
64 位 Windows 7; Visual Studio 社区 15.6.4; Windows SDK 10.0.16299.0
【问题讨论】:
-
您的 "After" 屏幕截图启用了视觉样式,而 "Before" 没有。有几种方法可以enable visual styles,并显式或隐式禁用它们。
-
@Ilnspectable:我的理解是Before是“经典”风格的一个例子,After是另一种风格。我确实希望能够启用更改样式,但在源代码中,说明我想要哪种类型(即,之前或之后)。另一个令人困惑的地方是,直到最近,每次构建都出现 After 似乎无缘无故出现。
-
我发布了链接,以便您知道在您的项目中要寻找哪些更改。事情不会无缘无故地改变。
-
考虑使用 GIT 等版本控制软件来跟踪您对项目所做的所有更改。这将允许您“及时返回”并找到最后一个未显示错误的变更集。与下一个变更集进行比较,以缩小最有可能导致问题的变更。
-
不幸的是,更改可能是由于 VS 和/或解决方案目标的更改而发生的。据我所知,样式由 commctrl DLL 和 SetWindowTheme 控制,我没有更改这些。有人可以告诉我如何使用我展示的两个示例来控制视觉风格吗?
标签: visual-studio mfc