在Visual Studio写程序,如果用.NET,默认都拥有"系统"样式.

但是默认的C++的Win32工程编译运行后却是下面这个样子.

事实上,左边的就是Classic状态,右边的是Themed状态.
这个其实是可以由Manifest文件控制的.控制Manifest的方法有好几个, 但是方便的做法是在代码里面加上链接参数:
在代码中中加上.
#include <commctrl.h>
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#pragma comment(lib,"comctl32.lib")
然后在代码中运行:
InitCommonControls();
最好是加载WinMan的开始处. 这样它就可以工作了, 他主要是进行一些初始化的工作.
cplusplus编程实例
ReplyDeletec ++中的数据编码技术