vc 实现xp风格控件
2009-10-21 13:16
239 查看
inXP提供了与以往版本的Windows不同的界面风格,如窗口
圆角
、
按钮
样式等,但是用VC
生成的程序在WinXP下运行时并不是自动形成这种界面风格,按钮
还是和在Win2k下看一样,我们可以使用一个简单的办法让它变脸。
秘密在于一个.mainfest文件,从VC
71生成的工程的res文件夹中就可以找到它,是个纯文本文件,内容如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
我们把它作为资源引入工程,引入时Resource Type填写“24”,然后把资源ID改成“1”
用这个方法可以很方便的对已有的工程进行改造,VC
6和VC
71都可以,在Win2k环境下,程序还是老样子,到XP下就自动显示新样式。
关键点应该在对Microsoft.Windows.Common-Controls 6.0.0.0版的加载上,不过为什么资源类型要定为24,ID要改成1就不明白了,估计是操作系统自己的限制。
其他
http://support.microsoft.com/kb/830033/zh-cn
圆角
、
按钮
样式等,但是用VC
生成的程序在WinXP下运行时并不是自动形成这种界面风格,按钮
还是和在Win2k下看一样,我们可以使用一个简单的办法让它变脸。
秘密在于一个.mainfest文件,从VC
71生成的工程的res文件夹中就可以找到它,是个纯文本文件,内容如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
我们把它作为资源引入工程,引入时Resource Type填写“24”,然后把资源ID改成“1”
用这个方法可以很方便的对已有的工程进行改造,VC
6和VC
71都可以,在Win2k环境下,程序还是老样子,到XP下就自动显示新样式。
关键点应该在对Microsoft.Windows.Common-Controls 6.0.0.0版的加载上,不过为什么资源类型要定为24,ID要改成1就不明白了,估计是操作系统自己的限制。
其他
http://support.microsoft.com/kb/830033/zh-cn
相关文章推荐
- VC实现XP风格控件效果
- VC6实现XP风格的控件效果(和VC2005一样)
- VC实现XP风格控件效果(转)
- VC 中实现 XP 风格的控件,简单实用的方法包你满意!
- VC无负担实现XP风格界面 [转]
- 在vc MFC下制作具有XP风格按钮等控件
- (转)在DELPHI7中不使用任何第三方控件,实现放在工具栏上可拖动的XP风格菜单
- VC无负担实现XP风格界面(转)
- VC无负担实现XP风格界面
- VC无负担实现XP风格界面
- [学习]VC实现xp风格
- vc中实现xp风格界面
- VC2005 实现XP的风格
- VC无负担实现XP风格界面
- VC++实现XP界面风格
- VC无负担实现XP风格界面
- 用VB实现带图片的XP风格的按钮控件
- VC6 轻松实现 xp 样式控件
- VC++ 6.0 XP风格的实现
- VC无负担实现XP风格界面