用户界面技术

本主题简要调查了用于开发基于Windows的应用程序的 UI 的 Microsoft 技术。 它提供所需的信息来帮助你确定是否使用特定技术,并确定可以在何处找到有关它的详细信息。

本主题介绍以下技术:

非托管应用程序的用户界面技术

本部分介绍用于为非托管Windows应用程序开发 UI 的 Microsoft 技术。 这些技术适用于熟悉 WindowsAPI 编程概念的经验丰富的 C/C++ 开发人员,以及使用 Microsoft Windows 软件开发工具包 (SDK) 的人员。 某些技术具有其他先决条件,例如了解图形编程问题或熟悉组件对象模型 (COM) 编程的基础知识。

Windows控件

Windows控件是与另一个窗口结合使用的用户界面元素 (通常是客户端窗口或对话框,) 使用户能够与应用程序交互。 构成基于传统Windows应用程序的 UI 的许多元素都是Windows控件,包括菜单、滚动条、按钮、列表框、树视图等。

Windows的所有版本都支持Windows控件。 但是,由于支持控件的运行时组件随时间推移而演变,因此早期版本中引入的某些控件和功能不受支持。 应用程序需要检测版本,并仅使用可用功能。

如果要为在各种Windows版本上运行的非托管Windows基于应用程序的传统 UI,则应使用Windows控件。

有关详细信息,请参阅Windows控件

视觉样式

视觉样式是控件外观的规范。 例如,视觉样式可以定义控件的整体外观,并使软件开发人员能够配置这些控件的可视界面,以便与应用程序的外观协调。 此外,视觉样式为所有基于Windows的应用程序提供一种机制,以标准化应用程序的外观。

Windows XP 及更高版本支持视觉样式,它们仅影响标准Windows控件和 Microsoft Win32 常见控件的外观。

如果需要更改标准Windows控件和常见控件的外观,以匹配应用程序 UI 的外观,则应使用视觉样式。

有关详细信息,请参阅 视觉样式

Windows功能区框架

Windows功能区框架是一个用于基于Windows应用程序的丰富命令演示系统。 它由功能区命令栏组成,通过应用程序窗口顶部的一系列选项卡和上下文菜单系统公开应用程序的主要功能。 以下Windows版本支持Windows功能区框架:

  • 适用于 Windows Vista 的 Service Pack 2 (SP2) 和平台更新Windows Vista
  • Windows 7 及更高版本
  • Windows Server 2008 R2
  • 适用于 Windows Server 2008 的 Service Pack 2 (SP2) 和平台更新Windows Server 2008

如果要实现传统Windows应用程序的分层菜单、工具栏和任务窗格替代的命令 UI,则应使用Windows功能区框架。

Windows功能区框架适用于熟悉 COM 编程的开发人员。

有关详细信息,请参阅Windows功能区框架

Windows动画管理器

Windows动画管理器通过提供强大的动画引擎和标准化的编程接口来支持 UI 元素的动画。 该平台简化了 UI 动画序列的开发和维护,使开发人员能够实现一致和直观的 UI 动画。 Windows动画可用于任何图形平台,包括 Direct2D、Microsoft Direct3D 或 Windows GDI+。

Windows Vista 上支持Windows动画框架,Windows Vista 平台更新和适用于 Windows Vista 的平台更新以及 Windows Vista 的平台更新,以及 Windows 7 及更高版本。

如果要将动画序列添加到基于非托管Windows应用程序的 UI,则应使用Windows动画管理器。

有关详细信息,请参阅Windows动画管理器

桌面窗口管理器

桌面窗口管理器 (DWM) 是一个支持桌面组合的Windows运行时组件,Windows Vista 中引入的功能。 通过桌面合成,DWM 可在 UI 中实现视觉效果,例如玻璃窗口框架、三维窗口切换动画、Windows翻转和Windows Flip3D 以及高分辨率支持。

DWM 公开用于控制与桌面组合关联的许多视觉效果的 API。 例如,应用程序可以显示缩略图,将半透明和模糊效果应用于顶级窗口的工作区,控制窗口非客户端区域中使用的透明度和过渡效果,等等。

Windows Vista 和 Windows Server 2008 支持 DWM。

如果应用程序需要访问和控制与桌面合成关联的视觉效果,则应使用 DWM。

有关详细信息,请参阅 桌面窗口管理器

Windows自动化 API

Windows自动化 API 可帮助开发人员创建可供最广泛的受众访问的应用程序,包括视力、听力或运动残疾人士。 API 的工作原理是公开构成应用程序用户界面的元素的相关信息。 辅助技术应用程序(如屏幕阅读器)可以使用信息以残障人士可使用的方式呈现 UI。

Windows自动化 API 由两个单独的 API 框架(Microsoft Active Accessibility 和 Microsoft UI 自动化)组成。 Microsoft Active Accessibility 是一个旧版 API,Windows 95 作为平台加载项引入。 UI 自动化是 Microsoft Active Accessibility 的继任者,是UI 自动化规范的Windows实现。

Microsoft Active Accessibility 的完全支持内置于 Windows XP 和 Windows Server 2003 中。 Service Pack 6 (SP6) 及更高版本以及 Windows 98 的 Windows NT 4.0 上也支持 Microsoft Active Accessibility。 以下操作系统支持UI 自动化:Windows XP、Windows Server 2003、Windows Server 2003 R2、Windows Vista、Windows 7、Windows Server 2008 和 Windows Server 2008 R2。

如果应用程序包含自定义控件或其他自定义 UI 功能,则应使用 Windows 自动化 API 来确保完全可访问自定义控件和功能。 通常,开发人员需要对 COM 对象和接口、Unicode 和Windows API 编程有一定程度的了解。

有关详细信息,请参阅Windows自动化 API

语音 API

Microsoft 语音 API (SAPI) 提供应用程序和语音引擎之间的高级接口。 SAPI 实现了控制和管理各种语音引擎实时操作所需的所有低级别详细信息。

SAPI 引擎的两种基本类型是文本转语音 (TTS) 系统和语音识别器。 TTS 系统使用合成语音将文本字符串和文件合成为语音音频。 语音识别器将人工语音音频转换为可读文本字符串和文件。

如果想要实现 UI,除了键盘、鼠标和显示器等标准输入设备外,还应该使用 SAPI,使用户能够通过 TTS 和语音识别与应用程序进行交互。

有关详细信息,请参阅 Microsoft 语音 API (SAPI) 5.4

放大 API

放大 API (MAPI) 用于放大屏幕部分,并应用颜色效果和其他转换。 此 API 主要用于辅助技术应用程序,这些应用程序可放大屏幕部分,使其更易于查看。

Windows Vista、Windows 7、Windows Server 2008 和 Windows Server 2008 R2 支持 MAPI。 它适用于熟悉图形编程概念的开发人员。

有关详细信息,请参阅 放大 API

资源编译器

Microsoft Windows资源编译器是一种应用程序开发工具,用于将 UI 和其他资源添加到基于Windows的应用程序。 资源是应用程序使用的任何非可执行数据,包括对话框、菜单、字符串、光标、图标、位图等。 资源编译器包含在 Microsoft Visual Studio 和 Windows SDK 中。

有关详细信息,请参阅资源编译器

托管应用程序的用户界面技术

本部分介绍用于开发在.NET Framework上下文中运行的托管Windows应用程序的 UI 的 Microsoft 技术。 有关详细信息,请参阅 .NET 开发

Windows 窗体

Windows 窗体是一个图形应用程序编程接口,用于创建基于.NET Framework的托管Windows应用程序。 在Windows 窗体中,窗体是向用户显示信息的视觉图面,通过该图面接收来自用户的输入。

通过将控件添加到窗体并开发对用户操作(例如鼠标单击或按键)的响应来生成Windows 窗体应用程序。 控件是离散的 UI 元素,用于显示数据或接受数据输入。 Windows 窗体包含各种可以向窗体添加的控件:显示文本框、按钮、下拉框、单选按钮甚至网页的控件。 Windows 窗体还支持创建自定义控件。

有关详细信息,请参阅Windows 窗体

Windows Presentation Foundation

Windows Presentation Foundation (WPF) 是Windows 窗体的继任者。 WPF 是一种演示系统,用于在基于Windows的客户端应用程序和浏览器托管的应用程序中生成和呈现用户界面。 WPF 的核心是一个与分辨率无关且基于矢量的呈现引擎,旨在充分利用现代图形硬件。 WPF 通过一套完善的应用程序开发功能对该核心进行了扩展,这些功能包括可扩展应用程序标记语言 (XAML)、控件、数据绑定、布局、二维和三维图形、动画、样式、模板、文档、媒体、文本和版式。

WPF 包含在 .NET Framework 中,因此你可以生成整合其他 .NET Framework 类库元素的应用程序。 在 Windows Vista、Windows 7、Windows Server 2008、Windows Server 2008 R2 上支持 WPF,还 Windows可用于 service Pack 2 (SP2) 和 Windows Server 2003 的 XP。

有关详细信息,请参阅Windows Presentation Foundation

Silverlight

Microsoft Silverlight 是一个功能强大的开发平台,用于为 Web、桌面和移动设备创建富媒体应用程序和业务应用程序。

根据.NET Framework,免费 Silverlight 插件适用于多个浏览器、设备和操作系统,以将新的交互性引入 Web。 借助广泛的布局和样式选项、强大的通信协议、可靠的数据访问和支持用户交互和高清媒体,Silverlight 有助于创建快速、流畅且视觉丰富的客户体验。 可以使用 Microsoft Web 平台、Visual Studio 和 Expression Studio 快速开发 Silverlight 应用程序。

有关详细信息,请参阅 Microsoft Silverlight

表达式 Blend 3 + SketchFlow

Expression Blend 3 + SketchFlow 是一种可视化工具,用于设计、原型制作和为 WPF 和 Silverlight 桌面和 Web 应用程序创建复杂的用户界面。 通过绘制形状、绘图控件(如按钮和列表框)生成应用程序,使应用程序的片段响应鼠标单击和其他用户输入,以及设置所有外观以唯一外观的应用程序。

有关详细信息,请参阅 使用 SketchFlow 的原型制作

托管应用程序的UI 自动化

UI 自动化是一个辅助功能框架,可用于支持 WPF 的所有操作系统Windows。

UI 自动化提供对桌面上大多数 UI 元素的编程访问,使屏幕阅读器等辅助技术产品能够向最终用户提供有关 UI 的信息,并通过标准输入以外的方式操作 UI。 UI 自动化还使自动测试脚本能够与 UI 交互。

有关详细信息,请参阅托管应用程序的UI 自动化