タッチとタブレット用の開発者向け Windows 拡張機能更新日: 2009 年 4 月 28 日 ダウンロードPDC08_Touch_and_Tablet_JPN.docx (Word 形式、344 KB) 目次:
Microsoft Corporation 対象:Windows® 7 要約:Windows 7 オペレーティング システムおよび Windows Server 2008 R2 オペレーティング システムで導入された新しいタッチ機能とタブレット機能について説明します。 法的通知:このドキュメントは暫定版であり、このソフトウェアの最終的な製品版の発売時に実質的に変更されることがあります。 1. はじめにWindows® 7 オペレーティング システムでは、追加の言語サポート、数式入力コントロール、ユーザー辞書、および Microsoft® Windows® オペレーティング システムのマルチタッチ サポートが導入されます。Windows Server® 2008 R2 では、追加の言語、ユーザー辞書、およびサーバー側の認識のサポートが導入されます。この機能によって、タブレット機能が強化され、開発者は次のような実用的なエンド ユーザー シナリオをサポートする新しいアプリケーションを開発できます。
Windows Server 2008 R2 では、フォームに入力されたコンテンツがサーバー側で認識され、サーバー側でテキスト認識を実現するためにユーザー辞書もサポートされます。このような機能の追加により、開発者と管理者は、サーバー側での手書き認識をサポートする強力なアプリケーションを作成およびカスタマイズできます。 ページのトップへ 2. 数式入力コントロールWindows® 7 オペレーティング システムでは、数式入力パネル (MIP、Math Input Panel) での数式入力がサポートされます。MIP は、テキスト入力パネルと同等の数式専用の新しい入力パネルです。 注: Windows Server 2008 R2 では、数式入力パネルと数式入力コントロールはサポートされていません。 ユーザーは Windows 7 から直接 MIP を起動できるので、(レガシー アプリケーションを含む) 多くのアプリケーションでは、コードを変更せずに MIP を利用することができます。次の画像は、数式入力コントロールの使用例です。この例では、ユーザーがメモを取り、それをペン対応のドキュメントにインクで書いて、別のアプリケーションに記号入力としてコピーしています。
開発者は数式入力コントロールを使用して、より直接的に数式入力パネルの機能をアプリケーションに統合できます。従来の方法 (記号メニューにすばやく目を通したり、キーボード ショートカットを記憶したりするなど) を使用したデータ入力と比較して、数式入力コントロールを使用したデータ入力は、はるかに直感的かつ自然に行うことができます。数式入力コントロールをアプリケーションに適切に実装して統合すると、ユーザーは数式入力コントロールによる操作性の向上を実感できます。 Windows 7 では、数式入力コントロールを利用するアプリケーションを非常に簡単に開発できます。ここでは、Windows 7 の開発者がアプリケーションに数式入力コントロールを統合する際に実行する一般的なタスクの例をいくつか紹介します。 a. 数式入力コントロールの作成ここでは、アプリケーション コードで数式入力コントロールを作成する方法を説明します。一般に、この作成手順は、ユーザーが定型データを入力する必要がある場合に実行します。 数式入力コントロールを作成するには
数式入力コントロールのヘッダーとライブラリのインクルード数式入力コントロールを使用するコードの先頭に、次のコードを追加します。
このコードにより、数式入力コントロールのサポートがアプリケーションに追加されます。 コントロール ポインターの宣言と初期化コントロールのヘッダーをインクルードしたら、コントロールのポインターを宣言し、CoInitialize 関数を呼び出して初期化できます。この関数を呼び出すと、数式入力コントロール インターフェイスのハンドルが作成されます。次のコードは、クラスに追加するか、グローバル変数としてアプリケーションの実装に追加できます。
次のコードは、コントロールのポインターで CoInitialize 関数を呼び出す方法を示しています。
コントロールのポインターで CoInitialize 関数を呼び出すと、コントロールへの参照が作成されて、コントロールのメソッドにアクセスできるようになります。たとえば、次のコードに示すように、コントロールの拡張セットを有効にすることができます。
コントロールの表示コントロールを作成しても、自動的には表示されません。コントロールを表示するには、前の手順で作成したコントロールへの参照で Show メソッドを呼び出します。次のコードに、Show メソッドを呼び出す方法を示します。
次の画像のようなコントロールが表示されます。 ボタンの拡張セットが有効になっているので、[やり直し] ボタンと [元に戻す] ボタンを使用することができます。 ページのトップへ b. 数式入力コントロールのカスタマイズここでは、アプリケーションに合わせて数式入力コントロールの外観をカスタマイズする、次の 3 つの方法を説明します。
表示されるボタンの変更数式入力コントロールに表示されるボタンを変更して、コントロールの拡張機能を有効にしたり、画面に表示されるコントロールのサイズを小さくしたりすることができます。ボタンの拡張セットを有効にすると、[やり直し] ボタンと [元に戻す] ボタンが表示されます。次のコードは、ボタンの拡張セットを有効にする方法を示しています。
次の画像は、ボタンの拡張セットが有効になっているコントロールの状態です。
コントロール キャプションの変更数式入力コントロールのコントロール キャプションを変更して、数式入力コントロールのウィンドウにキャプションを設定することができます。次のコードに、キャプションの設定方法を示します。
キャプションを設定すると、コントロールは次の画像のような状態になります。 コントロールのプレビュー領域のサイズ変更数式入力コントロールをカスタマイズして、コントロールのプレビュー領域のサイズを明示的に設定することができます。これにより、数式が表示される領域が大きくなります。次のコードに、プレビュー領域のサイズの設定方法を示します。
以下に、プレビュー領域のサイズが異なるコントロールを示します。 ページのトップへ 3. Windows 7 のマルチタッチ機能Windows® 7 オペレーティング システムの新しいハードウェアと API 要素により、アプリケーションではマルチタッチ入力を受け取ることができます。この機能により、アプリケーションでは、アプリケーションの画面で一度にタッチされた複数のポイントを検出し、応答することができます。この Windows 7 の機能は、touch down (タッチ ダウン)、touch up (タッチ アップ)、および touch move (タッチ ムーブ) の各操作をレポートする一連の新しい専用のウィンドウ メッセージによって実現します。新しいウィンドウ メッセージにより、同時にタッチされたポイントの一意の ID と共に、タッチ ポイントの操作と位置がレポートされます。 メッセージは、ペン処理またはタッチ操作による Raw 入力処理によって生成されます。現在この処理は、Tablet プラットフォームの Windows Ink Service Platform Tablet Input Subsystem (WISPTIS) プロセスによって実行され、生成されたメッセージが対象のアプリケーションに渡されます。 新しい入力メッセージだけでなく、マルチタッチ ジェスチャ メッセージもウィンドウ メッセージの既存の一覧に追加されます。マルチタッチとマルチタッチ ジェスチャのメッセージング サポートは、新しいウィンドウ メッセージによって実現されます。これらのメッセージは、ユーザーの入力がジェスチャとして認識されると、Tablet プラットフォームの WISPTIS プロセスによって当該アプリケーション ウィンドウに送信または投稿されます。専用の API 関数には、このようなメッセージの作成および使用に関する詳細情報がカプセル化されています。これは、開発者がこのメッセージを既に使用しているアプリケーションを更新しなくても、メッセージに関連付けられている情報を将来変更できるようにするための仕様です。 開発者は、Windows 7 で導入された新しいマルチタッチ機能を適用することで、次の 3 つの設計レベルに分類されるアプリケーションを作成できます。
PDC メディア キットの Touch and Tablet フォルダーには、この新機能についての詳細情報を提供しているコンパイル済みのヘルプ (.chm) ファイルが格納されています。この .chm ファイルでは、マルチタッチ開発の概要を説明しており、マルチタッチ機能をサポートするために新しく追加された API 要素を紹介しています。 ページのトップへ 4. Windows 7 と Windows Server 2008 R2 での手書き認識用ユーザー辞書の作成Windows® 7 オペレーティング システムと Windows Server® 2008 R2 オペレーティング システムでは、ユーザー辞書を使用することで手書き認識の精度を大幅に向上することができます。ユーザー辞書は、手書き認識で使用されるシステム辞書を補完するか、システム辞書と置き換える形で使用されます。 特定の言語に対応したユーザー辞書は、インストールされている手書き認識エンジンの言語と同じ場合のみインストールできることに注意してください。
a. ワードリストのコンパイルコンパイルするワードリストはプレーンテキスト形式であり、Unicode エンコードを使用して保存されている必要があります。その他のエンコードで保存したファイルは、ワードリストとして使用できません。テキスト ファイルの各行は、辞書の 1 つのエントリと見なされます。複数の単語で構成されるもの (つまり、1 つ以上の空白を含むエントリ) も使用できます。行の先頭または末尾の空白は無視されます。 ユーザー辞書は、コマンド ラインでコンパイルします。辞書をコンパイルするには、コマンド ウィンドウを開き、ワードリストがあるフォルダーに移動して、必要なコマンドライン オプションを指定して HwrComp.exe を実行します。 次のコードは、コマンドライン オプションの使用構文を示しています。
コマンドライン オプションの説明-lang <localename> コンパイル済みのユーザー辞書ファイルに割り当てるロケール名です。引数 <localename> は <言語>-<地域> の形式で指定します。たとえば、en-US という引数は言語が英語で、地域が米国であることを表します。この形式の例については、https://msdn.microsoft.com/en-us/library/ms776260(VS.85).aspx#locale ids (英語) を参照してください。 -type <type> <type> は省略可能な引数で、使用するリソース (メインのワードリスト (PRIMARY) またはサブのワードリスト (SECONDARY) のいずれか) の後に、リソースが適用される実際のワードリスト名 (DICTIONARY や SURNAME など) を結合した単一文字列です。 指定できる値は、次のとおりです。
type オプションの値の先頭に PRIMARY というプレフィックスを指定した場合、コンパイル済みの辞書をインストールすると、この辞書がシステム辞書に置き換わります。PRIMARY-DICTIONARY という値は、指定言語のメインのシステム辞書を表します。ユーザー辞書が削除されると、システム辞書の置き換えは解消されるので、元のシステム辞書のコンテンツには影響ありません。 type オプションの値の先頭に SECONDARY というプレフィックスを指定した場合、コンパイル済みの辞書はシステム辞書と置き換わるのではなく、システム辞書を補完する形で使用されます。 -comment <comment> 指定したコメントが、辞書ファイルにコンパイルされます。コメントは単一の文字列で、64 文字以内に収める必要があります。 -o <dictfile.hwrdict> <dictfile.hwrdict> で名前を指定したファイルに出力が書き込まれます。 このオプションを指定しない場合は、出力ファイルの名前は、元の入力ファイルの名前から派生したものになり、拡張子が .hwrdict に置き換えられます。 既定値パラメーターを指定していない場合、オプションの既定値は次のようになります。 -lang <現在の入力言語> -type SECONDARY-DICTIONARY 例次のコード例は、mylist1.txt という入力ファイルをコンパイルし、オプションの既定値を適用して、mylist1.hwrdict という出力ファイルを作成します。 hwrcomp mylist1.txt 一方、次のコード例は、mylist1.txt を myrsrc1.hwrdict にコンパイルしますが、lang オプションでは "英語 (米国)"(en-US) を指定し、type オプションでは SECONDARY-DICTIONARY を指定しています。 hwrcomp -lang en-US -type SECONDARY-DICTIONARY -o myrsrc1 mylist1.txt ページのトップへ b. コンパイル済みユーザー辞書のインストールHwrComp.exe によって .hwrdict ファイルが作成されます。これは、手書き認識エンジンで使用されるバイナリ形式のファイルです。このファイルは、手書き認識をサポートする Windows 7 または Windows Server 2008 R2 を実行している任意のコンピューターにインストールできます。辞書は、現在のユーザーまたはコンピューターを使用するすべてのユーザーのいずれかを対象にインストールされます。 コンパイル済みのユーザー辞書ファイルは、HwrReg.exe というツールを使用して、コマンド ラインからインストールできます。このツールは、ファイルにコンパイルされている構成値または既定の構成値を上書きする場合に便利です。HwrReg.exe は、check/install モードと list/remove モードの 2 つの方法で実行できます。 Check/Install モードでの HwrReg.exe の実行このモードは、まだインストールされていないユーザー辞書ファイルをインストールする場合に使用します。次に、コマンドライン オプションの使用構文を示します。
-check 辞書ファイルは、インストールしなくても検証されます。-check オプションを指定すると、ファイルのコメントに加え、ファイルのインストールに使用される登録情報が表示されます。このオプションは、インストールの実行前に登録情報を検証する場合に便利です。 このオプションを指定しない場合は、HwrReg.exe によってユーザー辞書がインストールされます。 -lang <localename> 指定したロケール名がユーザー辞書に適用されます。そのため、HwrComp.exe を使用してコンパイルするときに指定したロケール名は完全に無視されます。引数 <localename> は <言語>-<地域> の形式で指定します。この形式の例については、https://msdn.microsoft.com/en-us/library/ms776260(VS.85).aspx#locale ids (英語) を参照してください。 このオプションを指定しない場合は、コンパイル時に指定した言語が使用されます。 -scope {all|me} すべてのユーザー (-scope all) または現在のユーザーのみ (-scope me) のいずれかを対象に、ユーザー辞書がインストールされます。-scope all オプションを指定してインストールするには、管理者特権でのコマンド プロンプトでコマンドを実行する必要があります。それ以外の場合、エラー コードが返されます。 このオプションを指定しない場合は、現在のユーザーのみを対象にインストールが実行されます。 -noprompt HwrReg.exe によって確認が要求されません。このオプションは、スクリプトで HwrReg.exe を実行する場合に便利です。 次のコード例は、現在のユーザーのみという既定の対象範囲で、"デンマーク語 (デンマーク)"(da-DK) 用の myrsrc1.hwrdict というユーザー辞書をインストールします。 hwrreg -lang da-DK myrsrc1.hwrdict List/Remove モードでの HwrReg.exe の実行このモードを使用すると、インストール済みのユーザー辞書が一覧表示または削除されます。次に、コマンドライン オプションの使用構文を示します。
-lang <localename> 指定したロケール名で登録されている辞書のみが一覧表示または削除されます。引数 <localename> は <言語>-<地域> の形式で指定します。この形式の例については、https://msdn.microsoft.com/en-us/library/ms776260(VS.85).aspx#locale ids (英語) を参照してください。 このオプションを指定しない場合は、すべての言語の辞書が一覧表示または削除されます。 -scope {all|me} すべてのユーザー (-scope all) または現在のユーザーのみ (-scope me) のいずれかを対象にインストールされた辞書が一覧表示または削除されます。-scope all オプションを指定して実行するには、管理者特権でのコマンド プロンプトでコマンドを実行する必要があります。それ以外の場合、エラー コードが返されます。 このオプションを指定しない場合は、現在のユーザーのみを対象にインストールされた辞書が一覧表示または削除されます。 -type <type> 指定した種類で登録されている辞書のみが一覧表示または削除されます。 このオプションを指定しない場合は、すべての種類の辞書が一覧表示または削除されます。 -list 他のオプションの指定内容と一致する、インストール済みのすべての辞書が一覧表示されます。 このオプションを指定しない場合は、-remove オプションを指定する必要があります。 -remove 他のオプションの指定内容と一致するすべての辞書の削除が要求されます。 このオプションを指定しない場合は、-list オプションを指定する必要があります。 次のコード例は、ロケールが "英語 (米国)"(en-US) で、種類が PRIMARY-DICTIONARY であり、現在のユーザーのみを対象にインストールされている辞書を一覧表示します。 hwrreg -list -lang en-US -type PRIMARY-DICTIONARY 同様に、次のコード例は同じ条件と一致する辞書を削除します。 hwrreg -remove -lang en-US -type PRIMARY-DICTIONARY ページのトップへ c. ユーザー辞書に関する一般的な注意事項
ページのトップへ 5. サーバー側の手書き認識Windows Server® 2008 R2 オペレーティング システムでは、サーバー側の手書き認識をサポートします。サーバー側の手書き認識により、サーバーは Silverlight™ フォームに入力されたコンテンツを認識できます。この機能は、ネットワーク上のユーザーが、ユーザー辞書を使用して解釈される用語を指定するときに便利です。たとえば、患者の名前をサーバー データベースに照会する医療用アプリケーションがある場合、Silverlight フォームに手書き入力された文字列から検索を実行したときに相互参照される別のデータベースに患者の名前を追加できます。 Windows Server 2008 R2 には、サーバー側の手書き認識のデモを行う SilverLiveSearch というサンプル アプリケーションが同梱されています。 |
ページのトップへ