MFC生成Win7或XP风格

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

 

 

 

然后导入资源,把文件windows.manifest添加到工程的资源中:
插入->资源->引入->文件类型改为“所有文件"->找到windows.manifest->弹出对话框
资源类型 填"24"->确定后(弹出一堆象乱码一样的东西,汗!!)
再把资源的ID改为"IDR_MANIFEST"
然后在String Table中添加IDR_MANIFEST,值为1
重新生成编译运行
你的 程序就有了XP/Win7的风格

有时会出现一个这样的错误:

fatal error CVT1100: 重复的资源。type:MANIFEST, name:1, language:0x0409

解决方法:

1>CVTRES : fatal error CVT1100: 重复的资源。type:MANIFEST, name:1, language:0x0409
1>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

加入了MANIFEST资源,同时将应用程序语言从中文改成了英文,结果出现了上面的问题。中文时,不存在这个问题。

错误信息显示,重复链接了MANIFEST资源。无论怎么改动.rc文件,都没法避免这个错误,只能使用兼容处理的方式。

解决方法:项目——属性——清单工具,嵌入清单——否

重新编译,OK!

 

你可能感兴趣的:(MFC窗口win7风格)