gpt4 book ai didi

windows - 对话框在时间设计上具有现代外观,但在运行时具有旧外观(使用 Visual C++ 和资源编辑器)

转载 作者:可可西里 更新时间:2023-11-01 13:20:38 24 4
gpt4 key购买 nike

我正在使用 Visual C++ 的资源编辑器创建一个对话框。

当我运行编辑器的测试按钮时,对话框的组件以现代外观显示,而当运行创建和显示对话框的应用程序时,它以旧外观显示...我只是在使用WINAPI 调用显示对话框,而不是 MFC。

这是屏幕截图(上图是设计时的 UI 外观示例,另一个是运行时的 UI 外观示例):

link text

有人知道我做错了什么吗?

最佳答案

您是否已正确设置 list 以在您的项目中使用版本 6 的 commctl32.dll?否则,您将无法获得主题控件。

在更高版本的 Visual Studio 中,这通常是使用 #pragma 完成的,如下所示(这个用于 x86,从使用 VS2005 生成的新项目复制而来):

#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")

如果您将此添加到项目中的源文件之一并重新构建, list 将由链接器生成并添加到您的应用程序中。对于其他处理器架构,您需要更改“processorArchitecture”值。 (为什么 VS 不能自己解决这个问题,留给读者去解决……)

(正如其他一些人所指出的,您也可以手动生成 list 并将其添加到 .rc 文件中。这比较冗长,但确实可以让您完全控制 list 的内容。)

关于windows - 对话框在时间设计上具有现代外观,但在运行时具有旧外观(使用 Visual C++ 和资源编辑器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1025912/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com