MFC拥有WIN7/XP样式的风格

本文介绍如何通过创建并配置windows.manifest文件为应用程序添加XP/Win7界面风格,包括常见错误及其解决方法。
首先在RES目录下建一个文件,命名 windows.manifest 后缀为:.manifest
然后用记事本打开放入
 1  < ?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
 2 < assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
 3 < assemblyIdentity 
 4   name="Microsoft.Windows.XXXX" 
 5   processorArchitecture="x86" 
 6   version="5.1.0.0" 
 7   type="win32"/> 
 8 < description>Windows Shell</description> 
 9 < dependency> 
10   <dependentAssembly> 
11   <assemblyIdentity 
12   type="win32" 
13   name="Microsoft.Windows.Common-Controls" 
14   version="6.0.0.0" 
15   processorArchitecture="x86" 
16   publicKeyToken="6595b64144ccf1df" 
17   language="*" 
18   /> 
19   </dependentAssembly> 
20 < /dependency> 
21 < /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!

 

转载于:https://www.cnblogs.com/ccode/p/3905954.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值