使用者介面技術
本主題提供 Microsoft 技術的簡短調查,以開發 Windows 型應用程式的 UI。 它提供協助您判斷是否要使用特定技術所需的資訊,並識別您可以在何處找到其詳細資訊。
本主題描述下列技術:
Unmanaged 應用程式的使用者介面技術
本節說明開發非受控 Windows 應用程式的 UI 的 Microsoft 技術。 這些技術適用於熟悉 WindowsAPI 程式設計概念的經驗豐富的 C/C++ 開發人員,以及使用 Microsoft Windows 軟體開發工具包 (SDK) 的人員。 有些技術還有其他必要條件,例如圖形程式設計問題的知識,或熟悉元件物件模型 (COM) 程序設計的基本概念。
Windows 控件
Windows 控制件是使用者介面元素,可與另一個視窗搭配使用(通常是用戶端視窗或對話框),讓使用者能夠與應用程式互動。 組成傳統 Windows 應用程式 UI 的許多元素都是 Windows 控件,包括功能表、滾動條、按鈕、清單框、樹視圖等專案。
所有 Windows 版本都支援 Windows 控件。 不過,由於支援控件的運行時間元件經過一段時間的演進,較舊版本中所引進的一些控件和功能並不支援。 應用程式需要偵測版本,並只使用可用的功能。
如果您想要為在各種 Windows 版本上執行的 Unmanaged 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 動畫架構支援 Windows Vista 的 Windows Vista 平臺更新 Windows Vista Sp2 和適用於 Windows Vista 的平臺更新,以及 Windows 7 和更新版本。
如果您想要將動畫序列新增至非受控 Windows 應用程式 UI,您應該使用 Windows 動畫管理員。
如需詳細資訊,請參閱 Windows 動畫管理員。
桌面視窗管理員
桌面視窗管理員 (DWM) 是支援桌面組合的 Windows 執行時間元件,這是 Windows Vista 中引進的功能。 透過桌面組合,DWM 可在 UI 中啟用視覺效果,例如玻璃視窗框架、3D 視窗轉換動畫、Windows Flip 和 Windows Flip3D,以及高解析度支援。
DWM 會公開 API 來控制與桌面組合相關聯的許多視覺效果。 例如,應用程式可以顯示縮圖、將半透明和模糊效果套用至最上層視窗的工作區、控制視窗非客戶端區域中所使用的透明度和轉換效果等等。
Windows Vista 和 Windows Server 2008 支援 DWM。
如果您的應用程式需要存取和控制與桌面組合相關聯的視覺效果,您應該使用 DWM。
如需詳細資訊,請參閱 桌面視窗管理員。
Windows 自動化 API
Windows 自動化 API 可協助開發人員建立可供最廣泛物件存取的應用程式,包括視力、聽力或動作障礙的人員。 API 的運作方式是公開組成應用程式使用者介面之元素的相關信息。 螢幕助讀程式等輔助技術應用程式可以使用資訊,以殘障人士可以使用的方式呈現UI。
Windows 自動化 API 包含兩個不同的 API 架構:Microsoft Active Accessibility 和 Microsoft 使用者介面自動化。 Microsoft Active Accessibility 是 Windows 95 中引進為平台載入宏的舊版 API。 使用者介面自動化 是 Microsoft Active Accessibility 的繼任者,也是 使用者介面自動化 規格的 Windows 實作。
Microsoft Active Accessibility 的完整支持內建於 Windows XP 和 Windows Server 2003 中。 Windows NT 4.0 和 Service Pack 6(SP6) 和更新版本以及 Windows 98 也支援 Microsoft Active Accessibility。 下列操作系統支援 使用者介面自動化: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。
Speech API
Microsoft 語音 API (SAPI) 提供應用程式和語音引擎之間的高階介面。 SAPI 會實作控制和管理各種語音引擎即時作業所需的所有低階詳細數據。
SAPI 引擎的兩種基本類型是文字到語音轉換系統與語音辨識器。 TTS 系統會使用合成語音將文字字串和檔案合成成口語音頻。 語音辨識器會將人類口語音頻轉換成可讀取的文字字串和檔案。
如果您想要實作UI,讓使用者除了鍵盤、滑鼠和顯示器等標準輸入設備之外,還能夠透過TTS和語音辨識與應用程式互動,您應該使用SAPI。
如需詳細資訊,請參閱 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 Forms \(英文\)
Windows Forms 是一種圖形化應用程式開發介面,可用來建立以 .NET Framework 為基礎的受控 Windows 應用程式。 在 Windows Forms 中,表單是您向使用者顯示資訊的視覺介面,以及透過該介面接收使用者輸入。
您可以藉由將控件新增至表單,以及開發用戶動作的回應,例如按鍵來建置 Windows Forms 應用程式。 「控制項」是個別的 UI 項目,可顯示資料或接受資料輸入。 Windows Form 包含可讓您加入表單中的各種控制項:顯示文字方塊、按鈕、下拉式清單方塊、選項按鈕甚至網頁的控制項。 Windows Forms 也支援建立自定義控件。
如需詳細資訊,請參閱 Windows Forms。
Windows Presentation Foundation
Windows Presentation Foundation (WPF) 是 Windows Forms 的後續任務。 WPF 是在 Windows 型用戶端應用程式和瀏覽器裝載應用程式中建置和轉譯使用者介面的呈現系統。 WPF 的核心是與解析度無關並以向量為基礎的轉譯引擎,其建置目的是為了利用現代化圖形硬體。 WPF 利用一組完整的應用程式開發功能來擴充核心,包括 XAML (Extensible Application Markup Language)、控制項、資料繫結、版面配置、2D 和 3D 圖形、動畫、樣式、範本、文件、媒體、文字,以及印刷樣式。
WPF 隨附於 .NET Framework,因此您可以建置納入 .NET Framework 類別庫之其他項目的應用程式。 Windows Vista、Windows 7、Windows Server 2008、Windows Server 2008 R2 也支援 WPF,也適用於 Windows XP Service Pack 2 (SP2),以及 Windows Server 2003。
如需詳細資訊,請參閱 Windows Presentation Foundation。
Silverlight
Microsoft Silverlight 是功能強大的開發平臺,可用於建立 Web、桌面和行動裝置的豐富媒體應用程式和商務應用程式。
根據 .NET Framework,免費的 Silverlight 外掛程式可跨多個瀏覽器、裝置和操作系統運作,以將新的互動功能帶入 Web。 Silverlight 透過廣泛的版面配置和樣式選項、強大的通訊協議、強固的數據存取,以及用戶互動和高清媒體的支援,可協助建立快速、順暢且可視化豐富的客戶體驗。 Silverlight 應用程式可以使用 Microsoft Web Platform、Visual Studio 和 Expression Studio 快速開發。
如需詳細資訊,請參閱 Microsoft Silverlight。
表達式 Blend 3 + SketchFlow
Expression Blend 3 + SketchFlow 是一種可視化工具,可用於設計、建立原型,以及為 WPF 和 Silverlight 桌面和 Web 應用程式建立複雜的使用者介面。 您可以藉由繪製圖形、繪製按鈕和清單框等控件、讓應用程式的片段回應滑鼠點選和其他使用者輸入,以及設定一切樣式以唯一的外觀來建置應用程式。
如需詳細資訊,請參閱 使用SketchFlow建立原型。
受控應用程式的 使用者介面自動化
使用者介面自動化 是 Windows 的輔助功能架構,可在支援 WPF 的所有作業系統上使用。
使用者介面自動化 提供桌面上大部分UI元素的程式設計存取,讓螢幕助讀程式等輔助技術產品能夠為使用者提供UI的相關信息,以及透過標準輸入以外的方式操作UI。 使用者介面自動化 也允許自動化測試腳本與UI互動。
如需詳細資訊,請參閱受控應用程式的 使用者介面自動化。