网站公告列表

  没有公告

加入收藏
设为首页
在线投稿

您现在的位置: IT知识网 >> IT知识 >> 程序设计 >> Foxpro >> 文章正文

 

  [组图]使用 Windows XP 的外观风格           

使用 Windows XP 的外观风格
作者:佚名 文章来源:不详 点击数: 更新时间:2006-12-1 16:59:37



 

概要:本文档说明了如何使用 Microsoft Windows XP 来完成将外观风格应用于应用程序时必需执行的常见任务。

目录

  • 简介
  • ComCtl32.dll 版本 6
  • 外观风格任务
  • 在未使用第三方扩展的应用程序中使用 ComCtl32.dll 版本 6
  • 在使用扩展、插件或进程内运行的 DLL 的应用程序中使用 ComCtl32 版本 6
  • 在控制面板中或在通过 RunDll32.exe 运行的 DLL 中使用 ComCtl32 版本 6
  • 将外观风格用于自定义控件
  • 使自行绘制的控件能够使用外观风格
  • 使控件在具有外观风格的对话框或窗口中不显示外观风格
  • 使用 UxTheme 管理程序呈现其部件不具有外观风格的控件
  • 将外观风格用于 HTML 内容
  • 使 UxTheme 管理程序忽略顶层窗口
  • 使用 32 位抗失真图标
  • 使您的应用程序可同时在 Windows XP 和 Windows 的早期版本上正常运行
  • 总结

简介

通过使用 Microsoft® Windows® XP,您现在可以定义控件和窗口的外观风格,例如简单的颜色以及纹理和形状。您可以控制控件中的每个定义部件,也可以控制窗口中非客户端(框架和标题)区域的每个部件。之后,用户可以使用 Windows 控制面板中的“外观”选项卡在传统外观风格和其它可用风格之间进行切换。

Windows XP 版本提供外观风格。通过使用助手库和应用编程接口 (API),您无需更改过多代码即可在您的应用程序中使用 Windows XP 的外观风格。有关详细信息,请参阅 MSDN Library 中的 Platform SDK 文档。

ComCtl32.dll 版本 6

Windows XP 操作系统上运行的所有应用程序都有一个非客户端区域,其中包括窗口框架和非客户端滚动条。默认情况下,外观风格将应用于非客户端区域。这意味着非客户端区域的外观由当前安装的外观风格指定。要将外观风格应用于客户端区域中的常用控件,必须使用 ComCtl32.dll 版本 6 或更高版本。与 ComCtl32.dll 的早期版本不同,ComCtl32.dll 版本 6 不可重新分发。要使用动态链接库 (DLL) 的版本 6,唯一途径是使用包含它的操作系统。Windows XP 同时提供版本 5 和版本 6。ComCtl32.dll 版本 6 中包含用户控件和常用控件。默认情况下,各种应用程序使用 User32.dll 中定义的用户控件和 ComCtl32.dll 版本 5 中定义的常用控件。

如果要让您的应用程序使用外观风格,必须添加应用程序声明,指出如果 ComCtl32.dll 版本 6 可用,则应该使用它。版本 6 包括一些新控件和其它控件的新选项,但是,最大的变化是支持对控件在窗口中的外观进行更改。

外观风格任务

要将外观风格添加到您的控件,可能需要执行以下一些任务。

在未使用第三方扩展的应用程序中使用 ComCtl32.dll 版本 6

下面是一些未使用第三方扩展的应用程序示例。

  • 计算器

     
  • FreeCell

     
  • 扫雷

     
  • 记事本

     
  • 纸牌

要创建声明并使您的应用程序能够使用外观风格,请执行以下步骤:

  1. 链接到 ComCtl32.lib 并调用 InitCommonControls(请参阅 MSDN Library 中的 Platform SDK 文档)。

     
  2. 将名为 YourApp.exe.manifest 的文件添加到具有以下 XML 格式的源代码树中:

<?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.YourApp"

    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>

  1. 将声明添加到应用程序的资源文件中,如下所示:

CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "YourApp.exe.manifest"

注意:如果将前一项添加到资源中,则必须在一行中对其进行格式设置。或者,您可以将 XML 声明文件放置在与应用程序的可执行文件相同的目录中。操作系统将首先从文件系统加载声明,然后检查可执行文件的资源部分。文件系统版本优先。

在使用扩展、插件或进程内运行的 DLL 的应用程序中使用 ComCtl32 版本 6

下面是一些使用扩展的应用程序的示例。

  • Microsoft Management Console (Mmc.exe)

     
  • Windows Shell

     
  • Microsoft® Visual Studio®

要创建声明并使您的应用程序能够使用外观风格,请执行以下步骤:

  1. 使用 Windows XP Beta 2 SDK 或更高版本。

     
  2. 包括常用控件标题文件,如下所示:

#include "commctrl.h"

  1. 定义编译器变量预处理程序定义,如下所示:

#define SIDEBYSIDE_COMMONCONTROLS 1

将名为 YourApp.manifest 文件添加到具有以下 XML 格式的源代码树中:

<?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.YourApp"

    type="win32"

/>

<description>此处是您的应用程序说明。</description>

<dependency>

    <dependentAssembly>

        <assemblyIdentity

            type="win32"

            name="Microsoft.Windows.Common-Controls"

            version="6.0.0.0"

[1] [2] [3] [4] 下一页

文章录入:bolang    责任编辑:shuangfei 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最 新 热 门
    相 关 文 章
    使用OSPF路由协议配置的
    show ip ospf neighbor命
    使用 RIP协认处理不连续
    使用RIP协议处理不连续的
    使用路由器NAT功能接入I
    Cisco works windows 5.
    使用Cisco2621XM + NM-1
    使用Cisco ODR优化大规模
    如何使用Cisco路由器回拨
    SWITCH 命令大全
     
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    Copyright© ITZS.NET All Rights Reserved
    QQ:272895858   ICP备案编号:吉ICP备07000044号
    IT知识网 站长:博浪