VS2005属性中character set设置为Not Set或Use Multi-Byte Character按钮风格转换
来源:互联网 发布:wish数据 编辑:程序博客网 时间:2024/05/16 15:54
今天把工程属性character set改为Not Set或Use Multi-Byte Character后,按钮风格转变,比较难看。在网上查找后,解决办法如下
1.
打开 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_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
注释掉上面绿色两行。
2.
1. 将下面这段XML保存到你的工程目录下,文件名为XPStyle.manifest(注意后缀不是xml)
<?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="XP style manifest"
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>
2. 在VC中点添加资源, 将XPStyle.manifest文件作为资源文件加入到你的工程中,
填资源类型号为24或者RT_MANIFEST(这是因为manifest格式文件不是VC的常规资源文件), 自己设定一个资源ID,比如说IDR_XP_STYLE或者1都可以.
(1).如果是dll工程,则在Resource.h中修改:
#define IDR_XP_STYLE 2
并在StdAfx.h中添加
#define ISOLATION_AWARE_ENABLED 1
(2).如果是exe工程,则在Resource.h中修改:(自己没有做这一步,发现并无影响)
#define IDR_XP_STYLE 1
3. 点击全部编译,运行你的程序看看.
(友情提示: 编译出来的程序在非XP系统下没有XP风格界面,将是传统的界面效果)
使用.manifest文件不费任何力气就可以在xp系统里实现xp风格的控件,但是这样做有一点不方便的地方就是manifest必须放到exe所在目录,如下做法可以将manifest文件放到资源文件中,编译后生成.res文件,link后自然就和.exe文件“合”到一起了。
- VS2005属性中character set设置为Not Set或Use Multi-Byte Character按钮风格转换
- vs2010 设置为Use Multi-Byte Character Set 后界面没xp 风格了
- Use Multi-Byte Character Set和Use Unicode Character Set
- Multi-Byte Character Set & Use Unicode Character Set
- Multi-Byte Character Set & Use Unicode Character Set 收藏
- Multi-Byte Character Set & Use Unicode Character Set
- Multi-Byte Character Set & Use Unicode Character Set
- Multi-Byte Character Set & Unicode Character Set
- Unicode Character Set and Multi-Byte Character Set
- 【记录】Unicode Character Set & Multi-Byte Character Set
- VC Character Set Unicode or Multi-Byte
- Character Set
- Character set 'utf8mb4' is not a compiled character set
- 关于Visual Studio 2013 编译 multi-byte character set MFC程序出现 MSB8031 错误的解决办法
- 关于Visual Studio 2013 编译 multi-byte character set MFC程序出现 MSB8031 错误的解决办法
- 关于Visual Studio 2013 编译 multi-byte character set MFC程序出现 MSB8031 错误的解决办法
- 关于Visual Studio 2013 编译 multi-byte character set MFC程序出现 MSB8031 错误的解决办法
- 关于Visual Studio 2013 编译 multi-byte character set MFC程序出现 MSB8031 错误的解决办法
- iOS开发中,数组为空的判断处理
- blktrace编译使用
- java序列化和反序列化总结
- 脸书大数据:使用,误用、滥用
- Runnable、Callable、Executor、Future、FutureTask关系解读
- VS2005属性中character set设置为Not Set或Use Multi-Byte Character按钮风格转换
- [EntLib]微软企业库6 Data Access Application Block 扩展
- 禁用ViewPager左右两侧拉到边界的渐变颜色
- string: No such file or directory
- 安卓内核编译流程
- openfire xmpp sasl 浅析
- 备忘~~~
- MySQL存储引擎比较
- android开发,http工具类