-
VC2005 程序界面使用XP风格 - [编程学习]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://drag0n.blogbus.com/logs/40320040.html
使用.manifest文件不费任何力气就可以在xp系统里实现xp风格的控件,但是这样做有一点不方便的地方就是manifest必须放到exe所在目录,如下做法可以将manifest文件放到资源文件中,编译后生成.res文件,link后自然就和.exe文件“合”到一起了。
.manifest文件内容如下:
<?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>大家也看到了,这其实是一个XML文件,打开记事本,复制上面的内容,然后存盘,文件名任意,这里我存为XPStyle.manifest。
然后在VC中新建一个MFC AppWizard(exe)工程,Document/View或Dialog均可,接着把XPStyle.manifest复制到工程所在目录,再用记事本或其它文本编辑工具手动修改工程目录下的资源文件(.rc),在文件最后加上一行:
1 24 “XPStyle.manifest”
最后加上的那一行,“1”代表资源ID,必须是“1”。“24”代表资源类型,我想我们对RT_ACCELERATOR、RT_BITMAP、RT_MENU、RT_STRING等资源都非常熟悉,而“24”实际上是RT_MANIFEST。最后面引号中的东西我就不再啰嗦了
这样编译后生成的文件只有一个exe,但是同样可以在xp系统下实现xp风格控件另一种方法:
1. 在"项目属性"--"清单工具"---"输入和输出"---"附加清单文件"--在里面填入XML文件的位置;
比如我的文件位置: $ (ProjectDir)\res\XPStyle.manifest
2. 直接把文件添加到项目的文件列表中(不是导入到资源中).随机文章:
Delphi 2009/2010 的 TLinkLabel 用法 2009-09-24利用WTSEnumerateProcesses枚举进程 2008-11-09WDM驱动程序入门(转) 2008-11-09VC中的定义和声明 2008-11-08(指针常量,常量指针)-(函数指针,指针函数)-(指针数组,数组指针) 2008-11-08
收藏到:Del.icio.us