迅速使你的程序拥有Windows XP界面风格

来源:互联网 发布:剑灵灵男捏脸数据图 编辑:程序博客网 时间:2024/06/10 01:57

是否,你曾为自画个性菜单发过愁呢?

是否,你曾为自画的控件整体风格不统一很苦恼呢?

是否,你曾为寻找第三方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快来了!