VC2003/2005 实现XP的风格

来源:互联网 发布:des算法加密流程讲解 编辑:程序博客网 时间:2024/05/29 21:31

TXT写一段代码如下

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
  name="XP style manifest"
  processorArchitecture="x86"
  version="1.0.0.0"
  type="win32"/>
<dependency>
  <dependentAssembly>
    <assemblyIdentity
      type="win32"
      name="Microsoft.Windows.Common-Controls"
      version="6.0.0.0"
      processorArchitecture="x86"
      publicKeyToken="6595b64144ccf1df"
      language="*"
    />
  </dependentAssembly>
</dependency>
</assembly>

然后将其保存为   自定义文件名.manifest

然后以把它添加为资源,资源号写24

VC2005下直接这样就可以实现了,但是有点不一样的是假如是VC6.0VC2003的话,还要在.rc文件的最后加一句

1 24 "自定义文件名.manifest"

补充VC2003方法:

在新建MFC工程的时候,会发现工程下有XXX.manifest,用记事本打开资源文件可以看到以下代码行

#ifdef _UNICODE

IDR_MANIFEST RT_MANIFEST "res//test.manifest"

#endif

因此,当你用UNICODE方式编译时,会发现风格已经成为XP。如果你想在多字节下也有XP效果,只需将#if/#endif行注释掉即可

//#ifdef _UNICODE

IDR_MANIFEST RT_MANIFEST "res//test.manifest"

//#endif

如果没有这行,手动添加此行,并在resource.h文件中添加

#define IDR_MANIFEST    CREATEPROCESS_MANIFEST_RESOURCE_ID

其实 CREATEPROCESS_MANIFEST_RESOURCE_ID定义为1RT_MANIFEST定义为24,根本方法和上述相同。