窗口按钮样式老旧解决方法

来源:互联网 发布:python 变量生存期 编辑:程序博客网 时间:2024/06/10 01:30
窗口风格样式老旧解决方法
通常在一个对话框中添加按钮时,样式经常是很老的样式,Win.97或者Win.03版本的按钮风格,明明在最新的微软操作系统中编译,为什么默认是很老版本的按钮风格?
如图:

        老风格的按钮

这是因为一个win32程序默认的设定是在运行时使用最老的,也就是Win.97或者Win.03版本的按钮风格,这与代码无关,而是应用程序在生成的时候指定要链接的控件库(ComCtl32.dll)是老版本的。
要想改变这种行为,只需要指定在运行时使用较新的控件库。
最简单的办法是在任意代码,通常是预编译的头文件(一般是stdafx.h)里加上这一段
#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif

修改后效果如图:


扁平新风格关闭按钮

0 0