如何在没有清单的情况下启用视觉样式

2021-12-18 00:00:00 winapi c++ visual-styles comctl32

根据文档:

如果您希望应用程序使用 ComCtl32.dll 版本 6,则必须添加应用程序清单或编译器指令,以指定应使用版本 6(如果可用)."

"If you want your application to use ComCtl32.dll version 6, you must add an application manifest or compiler directive to specify that version 6 should be used if it is available."

注意到上面的逻辑 OR 了吗?那么这个神秘的编译器指令是什么?

Notice the logical OR above? So what is this mysterious compiler directive?

我有一个完全包含在单个 .cpp 文件中的本机 Win32 C++ 应用程序.没有资源文件、清单文件等.我想保持这种状态,但我也想使用视觉样式.

I've got a native Win32 C++ application that is wholly contained in a single .cpp file. There are no resource files, manifest files, etc. I'd like to keep it that way, but I would also like to use visual styles.

推荐答案

如果您使用的是 Visual Studio,则可以将此行添加到您的 stdafx.cpp 中,例如:

If you're using Visual Studio, you can add this line to your stdafx.cpp for example:

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

相关文章