是否,你曾为自画个性菜单发过愁呢?
是否,你曾为自画的控件整体风格不统一很苦恼呢?
是否,你曾为寻找第三方SKINS控件很挠头呢?
如果你正在这样做,正在自画菜单,正在寻找并使用第三方skins控件,那么赶快挺手吧!
因为---------->
Windows XP即将面世!
Windows XP的出现使计算机彻底进入了一个多姿多彩的世界。
Windows XP的出现使程序员们不必再为制作个性界面发愁,你可以全身心的投入到实现程序功能上去。
(怎么这么像给微软做广告的?不过这的确是切身感受。)
本文将经过简单的几部使你的程序拥有XP风格的绚丽界面。
以往我们制作上面的界面效果一般都依靠第三方控件(ActiveSkins、DirectSkins....)
现在,有了Windows XP一切都再简单不过。
有了Windows的ComCtl32.dll版本6.0你可以轻松的实现它!
你一定疑问:“这样需不需要修改大量原有代码呢?”
答案是否定的,你只需要在原有工程上加入一行InitCommonControls();
就这么简单么?NONO,没到那种程度(我也希望天上能掉下那样的馅饼:)
下面跟我经过几步使你的程序拥有Windows XP界面风格。
1,在工程中加入
#include "commctrl.h"
2,以-D ISOLATION_AWARE_ENABLED 模式编译程序,在Windows.h上面加上下行:
#define ISOLATION_AWARE_ENABLED
3,给你的工程加入一个名叫YourApp.manifest 的文件(填加文件会吧,Add files to project),文件内容如下:
<?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="公司.产品名.应用程序"
type="win32"
/>
<description>你的应用程序的描述.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
4,声明入下资源
#define MANIFEST_RESOURCE_ID 2
5,在你的程序资源中加上下面(YourApp要适当的修改):
MANIFEST_RESOURCE_ID RT_MANIFEST "YourApp.manifest"
好了,现在编译程序,你将看到XP风格的界面(什么?没看到?你用的是Windows XP么?本文只对beta2以及其以后的XP有效,原因当然是最早提出的ComCtl32.dll版本需要为6.0)
值得一说的就是:假如你的程序要在64位操作系统上运行(MS老大说的,64位操作系统对我来说还是科幻小说)
processorArchitecture="X86"这一行要改为processorArchitecture="IA64"
好了,本文讲解了如何使你的应用程序迅速拥有Windows XP风格。另外特别提醒的是:那些在忙于创作界面的程序员们省省,别吃力不讨好,XP快来了!