使用Manifests文件确保视觉风格应用于应用程序
要让程序运用XP视觉风格你必须要使用版本号为6的ComCtl32.dll,并且还要使用一个应用维护文件。一个应用维护文件对于该应用程序进行描述,定义了该程序所需要的组件,比如一些依赖文件。
你必须使用扩展标记语言(XML)来完成维护文件。维护文件的名称就是你的应用程序可执行文件的名称加上.manifest的扩展名。比如,MyApp.exe.manifest。下面有一个作例子的维护文件说明维护文件的第一段,这段是用来描述维护文件自己的。下面的表格说明了该段中构成assemblyIdentity元素的属性。
属性 描述
Version 该文件的版本(n.n.n.n,n<=65535)。
processorArchitecture 该应用程序在什么处理器上开发的。
name 包括公司名称,产品名称,程序名称。
type 该应用程序的类型,比如win32程序。
范例文件也提供了对应用程序的描述并且定义了应用程序的依赖。下面的表格说明了在依赖段中构成assemblyIdentity元素的属性。
属性 描述
type 依赖组件的类型,比如win32
name 组件的名称
version 组件的版本
processorArchitecture 组件设计适用的处理器
publicKeyToken 组件使用的关键字
language 组件使用的语言
注意:如果你是在64位的Windows平台上开发程序processorArchitecture项必须设置成IA64。
范例:
<?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="CompanyName.ProductName.YourApplication"
type="win32"
/>
<description>Your application description here.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version=" 6.0.0 .0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
-------------------------------------------------------------------------------------分割线
上面是MSDN的节选翻译,原文是《Using WindowsXP Visual Styles》。里面有两篇文章用的都是这个标题,内容大体上差不多。那么上面写的这些大家多半都没弄清楚到底怎么做。下面就举一个例子。
新建一个基于对话框的工程,就叫NewStyleTest吧。然后在界面上随便放几个控件。然后编译运行看一下效果。
显然这还是旧的风格样式。把上面例子中的xml文件保存成NewStyleTest.exe.manifest,和NewStyleTest.exe放在同一个目录下。
两个文件要放在同一个目录下
再运行一下看一下效果。
嗯,看起来顺眼多了。
著名的浏览器Maxthon也使用了manifest文件
本文仅供新手参考,如果你照上面的步骤没有效果或是要想进一步知道更多的细节内容,还是去看MSDN的原文吧。