人较笨且记性不好,故记录在此.折叠代码打不开请F5.本博中很多是转载收录其他网友的文章(原文地址请见博文末尾),所有权为原作者所有!!!
此博客已不再更新和维护,欢迎关注我的github新博客

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::

  首先看一下xp风格与非xp风格:

 

  非xp风格          xp风格

------------------------------------------------------------------------------------------------------------

有三种方法。

法一(推荐):采用Unicode工程,在属性的manifest tool里设置,或者直接在stdafx.h里加上:

#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_IA64
#pragma comment(linker,"/manifestdependency:/"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' 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

法二:
首先在RES目录下建一个文件,命名Master.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.dummy"
type
="win32"
/>
<description>Your app description here</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name
="Microsoft.Windows.Common-Controls"
version
="6.0.0.0"
processorArchitecture
="X86"
publicKeyToken
="6595b64144ccf1df"
language
="*"
/>
</dependentAssembly>
</dependency>
</assembly>

  并保存。然后在VS中导入资源,把这个新建的文件导入,类型为24,保存。用记事本打开rc文件, 找到自定义资源的地方改成如下句子   
  IDR_MANIFEST    24      MOVEABLE PURE       "res//Master.manifest"
  并保存之。再在VS中, 把这个自定义资源IDR_MANIFEST的ID改为1(没有引号)即可。

法三:

<?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.dummy"
type
="win32"
/>
<description>Your app description here</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name
="Microsoft.Windows.Common-Controls"
version
="6.0.0.0"
processorArchitecture
="X86"
publicKeyToken
="6595b64144ccf1df"
language
="*"
/>
</dependentAssembly>
</dependency>
</assembly>

  将上述代码保存为*.txt文件;

  假设在目录c:/11下有一个可执行文件ab.exe,把刚才建立的文件拷贝到c:/11下,并把名字改为ab.exe.manifest,这时候运行ab.exe,已经具有了XP风格了。依次类推,在每一个想改为XP风格的程序的统一目录里建立一个上面说的文件,并把名字改为可执行文件的名字加上".manifest"的扩展名,注意,不要把那个exe去掉,就可以了。

 

【参考资料 感谢作者】
1、在vc MFC下制作具有XP风格按钮等控件 



 


 

 

posted on 2012-03-28 19:35  子坞  阅读(1847)  评论(0编辑  收藏  举报