1.建立如下文本文件XXXX.manifest
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
    version="1.0.0.0"
    processorArchitecture="X86"
    name="Microsoft.Windows.XXXX"
    type="win32"
/>
<description>在此说明应用程序</description>
<dependency>
    <dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="X86"
            publicKeyToken="6595b64144ccf1df"
            language="*"
        />
    </dependentAssembly>
</dependency>
</assembly>
2.将这个XXXX.manifest文件作为RT_MANIFEST类型的资源添加到项目中

3.将此资源的ID设置为1。(非常重要!!)

注意:在VS2010中,stdafx.h中有一段设置样式的宏,如果是多字节程序,需要去掉那个#ifdef _UNICODE

#ifdef _UNICODE //去掉
#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
#endif //去掉

本文链接地址: 用.manifest文件使MFC编译的程序支持XP样式
https://blog.qingfengju.com/index.asp?id=122

上一篇: C++中的虚析构函数
下一篇: 用UpdatePerUserSystemParameters立即刷新用户桌面设置

分类:Win32/C++ 查看次数:9713 发布时间:2009/7/13 11:06:11