Win32 通过manifest切换Comctl32公共控件版本样式
Comctl32公共控件有两个大版本v5和v6样式有一定区别,可以参考下述链接
https://www.cnblogs.com/cyds/p/16251848.html
https://learn.microsoft.com/zh-cn/windows/win32/controls/cookbook-overview
vs c++ 现在默认有一个manifest内嵌在资源文件里,配置信息也是默认的。
今天在写win32的时候发现组件居然是远古样式
这个是因为默认用了老版本的Comctl32,得切换到新版本来。
有两个方法,第一种是加pragma
#pragma comment(linker,"\"/manifestdependency:type='win32' \ name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \ processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
第二种是在项目属性里找到manifest并添加
"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"
这两种方法本质是一样的。
为了生效记得把项目clean后重写编译。
这个地方改成Yes可以把manifest文件在编译的时候输出