Share via


ユーザー インターフェイス テクノロジ

このトピックでは、Windows ベースのアプリケーション用 UI を開発するための Microsoft テクノロジについて簡単に説明します。 特定のテクノロジを使用するかどうかを判断するために必要な情報が提供され、その詳細を確認できる場所を示します。

このトピックでは、次のテクノロジについて説明します。

アンマネージド アプリケーションのユーザー インターフェイス テクノロジ

このセクションでは、アンマネージド Windows アプリケーション用 UI を開発するための Microsoft テクノロジについて説明します。 これらのテクノロジは、WindowsAPI プログラミングの概念に精通し、Microsoft Windows ソフトウェア開発キット (SDK) を使用している経験豊富な C/C++ 開発者を対象としています。 一部のテクノロジには、グラフィックス プログラミングの問題に関する知識や、コンポーネント オブジェクト モデル (COM) プログラミングの基本に関する知識など、追加の前提条件があります。

Windows コントロール

Windows コントロールは、ユーザーがアプリケーションと相互作用できるようにするために、別のウィンドウ (通常はクライアント ウィンドウまたはダイアログ ボックス) と組み合わせて使用されるユーザー インターフェイス要素です。 従来の Windows ベースのアプリケーション UI を構成する要素の多くは、メニュー、スクロール バー、ボタン、リスト ボックス、ツリー ビューなどの項目を含む Windows コントロールです。

Windows コントロールは、すべてのバージョンの Windows でサポートされています。 ただし、コントロールをサポートするランタイム コンポーネントは時間の経過と同時に進化しているため、新しいバージョンで導入された一部のコントロールと機能は、以前のバージョンではサポートされていません。 アプリケーションでは、バージョンを検出し、使用可能な機能のみを使用する必要があります。

さまざまな Windows バージョンで実行されるアンマネージド Windows ベースのアプリケーション用の従来の UI を作成する場合は、Windows コントロールを使用する必要があります。

詳細については、「Windows コントロール」を参照してください。

ビジュアル スタイル

ビジュアル スタイルは、コントロールの外観の仕様です。 たとえば、ビジュアル スタイルを使用すると、コントロールの全体的な外観を定義し、ソフトウェア開発者がアプリケーションの外観と連携するようにこれらのコントロールのビジュアル インターフェイスを構成できます。 さらに、ビジュアル スタイルは、すべての Windows ベースのアプリケーションがアプリケーションの外観を標準化するためのメカニズムを提供します。

ビジュアル スタイルは Windows XP 以降でサポートされており、標準の Windows コントロールと Microsoft Win32 共通コントロールの外観にのみ影響します。

アプリケーション UI の外観に合わせて標準の Windows コントロールと共通コントロールの外観を変更する必要がある場合は、Visual Styles を使用する必要があります。

詳細については、「ビジュアル スタイル」を参照してください。

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 アニメーション フレームワークは、SP2 と Windows Vista のプラットフォーム更新付き Windows、および Windows Vista と Windows 7 以降用プラットフォーム更新をサポートしています。

アンマネージド Windows ベースのアプリケーションの UI にアニメーション シーケンスを追加する場合は、Windows アニメーション マネージャーを使用する必要があります。

詳細については、「Windows アニメーション マネージャ 」を参照してください。

デスクトップ ウィンドウ マネージャー

デスクトップ ウィンドウ マネージャー (DWM) は、Windows Vista で導入された機能で、デスクトップ構成をサポートする Windows ランタイム コンポーネントです。 DWM は、デスクトップ構成を通じて、ガラス ウィンドウ フレーム、3-D ウィンドウ切り替えアニメーション、Windows Flip と Windows Flip3D、高解像度のサポートなど、UI の視覚効果を有効にします。

DWM は、デスクトップ構成に関連する多くの視覚効果を制御するための API を公開します。 たとえば、アプリケーションでは、サムネイルの表示、トップレベル ウィンドウのクライアント領域への半透明でぼやけた効果の適用、ウィンドウのクライアント以外の領域で使用される透明度と遷移効果の制御などを行うことができます。

DWM は、Windows Vista と Windows Server 2008 ではサポートされていません。

アプリケーションがデスクトップ構成に関連付けられている視覚効果にアクセスして制御する必要がある場合は、DWM を使用する必要があります。

詳細については、「デスクトップ ウィンドウ マネジャー」を参照してください。

Windows Automation API

Windows Automation API を使用すると、開発者は、視覚、聴覚、運動障害など、可能な限り幅広い対象ユーザーがアクセスできるアプリケーションを作成できます。 この API は、アプリケーション ユーザー インターフェイスを構成する要素に関する情報を公開することによって機能します。 スクリーン リーダーなどの支援技術アプリケーションでは、この情報を使用して、障害のあるユーザーが使用できる方法で UI を表示できます。

Windows Automation API は、Microsoft Active Accessibility と Microsoft UI Automation の 2 つの個別の API フレームワークで構成されています。 Microsoft Active Accessibility は、プラットフォーム アドインとして Windows 95 で導入されたレガシ API です。 UI オートメーションは Microsoft Active Accessibility の後継であり、UI オートメーション仕様の Windows 実装です。

Microsoft Active Accessibility の完全なサポートは、Windows XP と Windows Server 2003 に組み込まれています。 Microsoft Active Accessibility は、Windows NT 4.0 Service Pack 6 (SP6) 以降および Windows 98 でもサポートされています。 UI オートメーションは、Windows XP、Windows Server 2003、Windows Server 2003 R2、Windows Vista、Windows 7、Windows Server 2008、Windows Server 2008 R2 の各オペレーティング システムでサポートされています。

アプリケーションにカスタム コントロールまたはその他のカスタム UI 機能が含まれている場合は、Windows Automation API を使用して、カスタム コントロールと機能に完全にアクセスできるようにする必要があります。 一般に、開発者には、COM オブジェクトとインターフェイス、Unicode、Windows API プログラミングについて、中程度のレベルの理解が必要です。

詳細については、「Windows Automation API」を参照してください。

Speech API

Microsoft Speech API (SAPI) は、アプリケーションと音声エンジンの間の高度なインターフェイスを提供します。 SAPI は、さまざまな音声エンジンのリアルタイム操作を制御および管理するために必要なすべての低レベルの詳細を実装します。

SAPI エンジンの 2 つの基本的な種類は、テキスト読み上げ (TTS) システムと音声認識エンジンです。 TTS システムは、合成音声を使用してテキスト文字列とファイルを音声オーディオに合成します。 音声認識エンジンは、人間が話す音声を読み取り可能なテキスト文字列とファイルに変換します。

キーボード、マウス、ディスプレイなどの標準入力デバイスに加えて、TTS と音声認識を介してユーザーがアプリケーションとインタラクションできるようにする UI を実装する場合は、SAPI を使用する必要があります。

詳しくは、Microsoft Speech API (SAPI) 5.4 をご覧ください。

拡大 API

拡大 API (MAPI) は、画面の一部を拡大し、色効果やその他の変換を適用するために使用されます。 この API は主に、画面の一部を拡大して見やすくする支援技術アプリケーションを対象としています。

MAPI は、Windows Vista、Windows 7、Windows Server 2008、 Windows Server 2008 R2 でサポートされています。 これは、グラフィックス プログラミングの概念に精通している開発者を対象としています。

詳細については、「拡大 API」のページを参照してください。

Resource Compiler

Microsoft Windows リソース コンパイラは、UI やその他のリソースを Windows ベースのアプリケーションに追加するために使用されるアプリケーション開発ツールです。 リソースは、アプリケーションによって使用される実行可能でないデータであり、ダイアログ ボックス、メニュー、文字列、カーソル、アイコン、ビットマップなどが含まれます。 リソース コンパイラは、Microsoft Visual Studio と Windows SDK に含まれています。

詳しくは、「リソース コンパイラ」をご覧ください。

マネージド アプリケーションのユーザー インターフェイス テクノロジ

このセクションでは、.NET Framework のコンテキストで実行されるマネージド Windows アプリケーション用 UI を開発するための Microsoft テクノロジについて説明します。 詳細については、.NET 開発のページを参照してください。

Windows フォーム

Windows フォームは、.NET Framework に基づくマネージド Windows アプリケーションを作成するためのグラフィカル アプリケーション プログラミング インターフェイスです。 Windowsフォームでは、フォームは、ユーザーに情報を表示し、ユーザーからの入力を受け取るための視覚的な画面です。

コントロールをフォームに追加して、マウスのクリックやキーの押下などのユーザー アクションへの応答を開発することで、Windows フォーム アプリケーションを開発します。 "コントロール" は、データを表示したり、データ入力を受け入れたりする独立した UI 要素です。 Windows フォームには、テキスト ボックス、ボタン、ドロップダウン ボックス、ラジオ ボタン、Web ページなどを表示するコントロールなど、フォームに追加できるさまざまなコントロールが含まれています。 Windows フォームでは、カスタム コントロールの作成もサポートされています。

詳細については、「Windows フォーム」を参照してください。

Windows Presentation Foundation

Windows Presentation Foundation (WPF) は、Windows フォームの後継です。 WPF は、Windows ベースのクライアント アプリケーションおよびブラウザーでホストされるアプリケーションでユーザー インターフェイスを構築およびレンダリングするためのプレゼンテーション システムです。 WPF の中核を成すのは、解像度に依存しない、ベクター ベースのレンダリング エンジンであり、これは最新のグラフィックス ハードウェアを活用できるように構築されています。 この中核を拡張するため、WPF では、Extensible Application Markup Language (XAML)、コントロール、データ バインディング、レイアウト、2-D および 3-D グラフィックス、アニメーション、スタイル、テンプレート、ドキュメント、メディア、テキスト、タイポグラフィなどの、アプリケーション開発機能の包括的なセットを使用します。

WPF は .NET Framework に含まれるので、.NET Framework クラス ライブラリの他の要素を組み込んだアプリケーションを構築できます。 WPFは、Windows Vista、Windows 7、Windows Server 2008、Windows Server 2008 R2 でサポートされており、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 を参照してください。

Expression Blend 3 + SketchFlow

Expression Blend 3 + SketchFlow は、WPF および Silverlight デスクトップおよび Web アプリケーション用の高度なユーザー インターフェイスを設計、プロトタイプ作成、作成するためのビジュアル ツールです。 図形、ボタンやリスト ボックスなどのコントロールを描画し、アプリケーションの部分をマウス クリックやその他のユーザー入力に応答させ、すべてをスタイル設定して独自の外観にすることで、アプリケーションを構築します。

詳細については、「SketchFlow を使用したプロトタイプ作成」を参照してください。

マネージド アプリケーションの UI オートメーション

UI オートメーションは、WPF をサポートするすべてのオペレーティング システムで使用できる Windows のアクセシビリティ フレームワークです。

UI オートメーションは、デスクトップ上のほとんどの UI 要素へのプログラムによるアクセスを提供し、スクリーン リーダーなどの補助技術製品が UI に関する情報をエンド ユーザーに提供したり、標準入力方式以外の方法で UI を操作したりできるようにします。 また、UI オートメーションにより、自動テスト スクリプトが UI と対話できるようになります。

詳細については、「マネージド アプリケーションの UI オートメーション」を参照してください。