培训
模块
为 Windows 开发项目选择最佳应用程序框架 - Training
Windows 开发人员有多种选项可用于创建在 Windows 上运行的应用程序。 本模块介绍了可用于 Windows 开发的 Windows UI 框架。 它还提供了有关如何为应用程序选择最佳框架的指导。
本主题介绍视觉样式并识别支持这些样式的 Windows 组件。 它还解释了在应用程序中使用视觉样式必须采取的步骤。 本主题包含下列部分:
Windows 包含多项功能,让用户可以定制 UI,以满足个人需求和偏好。 这些功能包括在适用于 Windows 95 的 Microsoft Plus! 中引入的主题。 主题是用户可选的设置集合,包括壁纸、光标、字体、声音和图标。 以下是主题的一些特征。
有关主题文件的详细信息,请参阅主题文件格式。
视觉样式是定义 Windows 常用控件外观的规范。 视觉样式与主题相关联;也就是说,.theme 文件包含一个部分,用于指定特定主题激活时应用的视觉样式。 以下是视觉样式的一些特征。
下图显示的是 Windows 7 桌面上一个带有任务栏的简单对话框,该桌面使用的是 Windows Aero 主题且不透明。 由于应用程序未配置为使用视觉样式,因此无论主题设置如何,按钮的外观都是一样的。
相比之下,下图显示的是同一桌面上的同一对话框,但这次应用程序已配置为使用视觉样式。 注意客户端区域中按钮的不同外观。 由于系统应用了 Aero 主题中定义的视觉样式,因此按钮看起来有所不同。
以下示例显示了 Windows 8 桌面上的类似对话框。 在 Windows 8 中,视觉样式始终处于开启状态,因此 Windows 8 应用程序可以“免费”获取主题。
以下组件支持视觉样式:
视觉样式 API 依赖于名为“主题”的系统服务。 常用控件链接库会查询主题服务以获取与样式相关的信息,在 Windows 7 之前,它会使用该服务以当前视觉样式来呈现控件。
在 Windows 8 及更高版本中,如果主题服务已关闭,视觉样式 API 仍可正常工作。 这意味着,当主题服务关闭时,常用控件和窗口的非客户端区域仍将具有视觉样式。 仍然需要“主题”服务的 Windows 8 功能包括:
视觉样式 API 可从与当前选定主题相关联的 .msstyles 文件中获取样式信息。 .msstyles 文件包含一组用于定义视觉样式的指标、字体、颜色和位图
要使用视觉样式,应用程序必须在包含 ComCtl32.dll 6 或更高版本的操作系统上运行。 如果希望应用程序使用 ComCtl32.dll 版本 6,则必须添加应用程序清单或编译器指令,以指定在版本 6 可用时使用该版本。 有关如何创建应用程序清单以使应用程序使用视觉样式的信息,请参阅启用视觉样式。
对于常用控件,无需进一步操作即可确保控件以用户偏好的视觉样式显示。
如果应用程序包含自定义或所有者绘制的控件,则需要使用视觉样式 API 来检索有关当前活动视觉样式的信息,并以该样式来绘制控件。
对于 Windows 8 之前的 Windows 版本,应用程序通常需要为绘制自定义控件和所有者绘制的控件提供两个独立的代码路径。 一个代码路径在使用视觉样式的主题激活时绘制控件,而另一个代码路径在 Windows 经典主题或高对比度主题激活时绘制控件。 不过,在 Windows 8 中,视觉样式始终处于开启状态,因此不需要单独的主题代码路径。 适用于 Windows 8 的应用程序可“免费”获取高对比度主题。有关详细信息,请参阅支持高对比度主题。
有关详细信息,请参阅 对自定义控件和所有者绘制的控件使用视觉样式和视觉样式参考。
培训
模块
为 Windows 开发项目选择最佳应用程序框架 - Training
Windows 开发人员有多种选项可用于创建在 Windows 上运行的应用程序。 本模块介绍了可用于 Windows 开发的 Windows UI 框架。 它还提供了有关如何为应用程序选择最佳框架的指导。