• 测试技术
  • 博客
  • 视频
  • 开源
  • 论坛
  • 沙龙
  • 下载
  • 杂志
  • 招聘

字号: | 推荐给好友 上一篇 | 下一篇

VC++.NET实现应用程序XP风格

发布: 2007-5-25 08:15 | 作者: 未知 | 来源: 电脑报 | 查看: 13次 | 进入软件测试时代论坛讨论

软件测试时代

  首先,我必须说明一下:以下说的XP风格程序并非可以运行在任何Win32平台上,而是在Windows XP下运行的。有的朋友可就纳闷了,任何在Windows XP下运行都有XP风格嘛,为何要花功夫去“实现”。请先看看下面两幅图


图1


图2

  在开发时实现
  怎么样?应该明白其中的区别了吧。为什么会这样?因为微软为Windows XP提供了Themes服务。Themes可以让程序具有“XP风格”,看起来更美观,因为微软更新了Comctl32.dll(ver 6.0)这个“XP风格”的控件。微软还为了保留传统的Windows界面风格,特地留下了Comctl32dll v5.8。图1就是v5.8绘制的,而图2则是支持Themes的v6.0之作。有些朋友一定知道在VC7中建立MFC工程,程序会自动引入XP风格。VC6或者其他编译器呢?其实原理都一样的。首先建立一个文件,名为“.manifest”(是任何字符,manifest是扩展名。)

  用文本输入以下是内容:

<﹖xml version=″1.0″ encoding=″UTF-8″ standalone=″yes″﹖>
<assembly xmlns=″urnschemas-microsoft-comasm.v1″ manifestVersion=″1.0″>
<assemblyIdentity processorArchitec ture=″x86″ version=″5.1.0.0″ type=″win32″
name=″yourappli cation.exe″/>
<description>de scrptions</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type=″win32″
name=″Microsoft.Windows.Common-Controls″
version=″6.0.0.0″
publicKeyToken=″6595b64144ccf1df″
language=″″
processorArchitec ture=″x86″/>
</dependentAssembly>
</dependency>
</assembly>

  保存以后,在编译器中导入此文件。资源类型是24(其实就是RT_MANIFEST),ID是1(必须)。若不能正常运行,请添加以下代码。

//…
#pragma﹖commentlib﹖″comctl32.lib″
#include < commctrl.h>
//…在初始化处加上…
InitCommonControls

  然后编译则大功告成!

文章来源于软件测试时代 http://www.testage.net/


软件测试时代开课信息
Google
关于我们 | 合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2007 TestAge(测试时代) 北京慧灵科技有限公司 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备05002925号
技术支持和业务联系:info@testage.com.cn 电话:010-51297073