Win32 API 日本語リファレンス
ホームUI.TabletPC › InkDisp

InkDisp

構造体
サイズx64: 0 バイト / x86: 0 バイト

サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。

フィールド

(フィールドなし)

公式ドキュメント

インク空間内で収集されたインクのストロークを表します。

InkDisp には次の種類のメンバーがあります。

イベント

InkDisp クラスには次のイベントがあります。

イベント 説明
InkAdded InkDisp オブジェクトにストロークが追加されたときに発生します。
InkDeleted InkDisp オブジェクトからストロークが削除されたときに発生します。

インターフェイス

InkDisp クラスは次のインターフェイスを定義します。

インターフェイス 説明
IInkDisp このオブジェクトは IInkDisp COM インターフェイスを実装します。

メソッド

InkDisp クラスには次のメソッドがあります。

メソッド 説明
AddStrokesAtRectangle 指定した四角形の位置に、ストロークのコレクションを InkDisp オブジェクトへ挿入します。
CanPaste IDataObjectInkDisp オブジェクトに変換できるかどうかを示します。
Clip 四角形の外側にあるストローク、またはストロークのコレクションの部分を削除します。
ClipboardCopy InkStrokes コレクションをクリップボードにコピーします。
ClipboardCopyWithRectangle 指定した四角形に含まれる IInkStrokeDisp オブジェクトをクリップボードにコピーします。
ClipboardPaste クリップボードから IDataObjectInkDisp オブジェクトにコピーします。
Clone InkDisp オブジェクトの複製を作成します。
CreateStroke 点データまたはパケット データからストロークを作成します。
CreateStrokes この InkDisp オブジェクトの InkStrokes コレクションを作成します。
DeleteStroke InkDisp オブジェクトからストロークを削除します。
DeleteStrokes InkDisp オブジェクトから複数のストロークを削除します。
ExtractStrokes メソッド InkDisp オブジェクトからストロークを抽出し、抽出したストロークを含む新しい InkDisp オブジェクトを返します。
ExtractWithRectangle メソッド 指定した四角形を使用して抽出するストロークを決定し、既存の InkDisp Class オブジェクトからストロークを切り取りまたはコピーして、新しい InkDisp Class オブジェクトに貼り付けます。
GetBoundingBox InkDisp オブジェクト内のすべてのストロークの境界ボックスを取得します。
HitTestCircle 指定した円に完全に含まれる、または円と交差する InkStrokes コレクションを取得します。
HitTestWithLasso 折れ線で囲まれた選択領域内にあるストロークを取得します。
HitTestWithRectangle 指定した四角形に含まれるストロークを取得します。
Load 指定したバイナリ データを使用して、新しい InkDisp オブジェクトを設定します。
NearestPoint InkDisp オブジェクト内で、指定した点に最も近い IInkStrokeDisp を取得します。必要に応じて追加情報も返します。
Save インクを指定した形式に変換し、そのバイナリ データを返します。

プロパティ

InkDisp クラスには次のプロパティがあります。

プロパティ アクセスの種類 説明
CustomStrokes
読み取り専用
インクと共に保存される IInkCustomStrokes コレクションを取得します。
Dirty
読み取り/書き込み
インクが最後に保存されてから InkDisp オブジェクトが変更されたかどうかを示す値を取得または設定します。
ExtendedProperties
読み取り専用
アプリケーション定義のデータのコレクションを取得します。
Strokes
読み取り専用
InkDisp オブジェクトに含まれる InkStrokes コレクションを取得します。

解説(Remarks)

このオブジェクトは、C++ で CoCreateInstance メソッドを呼び出すことでインスタンス化できます。

メモ

このオブジェクトを最初にインスタンス化すると、GDI+ も同時にインスタンス化されます。その副作用として、ループ内で 1 つのインク オブジェクトを生成しては破棄するような使い方をすると、GDI+ が何度も繰り返しインスタンス化されることになります。これはアプリケーションのパフォーマンス低下の原因となります。これを防ぐには、アプリケーションがインクを使用している間、インク オブジェクトのインスタンスを常に 1 つ保持してください。

InkDisp オブジェクトは、ストローク (点) データのコンテナーです。ストローク データ、つまりペンによって収集された点は、InkDisp オブジェクトに格納されます。Strokes プロパティには、InkDisp オブジェクト内のすべてのストロークのデータが含まれます。

InkCollector オブジェクト、InkOverlay オブジェクト、および InkPicture コントロールは、入力デバイスから点を収集し、InkDisp オブジェクトに格納します。これらのオブジェクトは、基本的に 1 つまたは複数の異なる InkDisp オブジェクトへインクを配布する供給元として機能し、InkDisp オブジェクトは配布されたインクを保持するコンテナーとして機能します。

インク空間は、タブレット コンテキストの座標がマップされる仮想的な座標空間です。この空間は HIMETRIC 座標系に固定されています。インク空間の座標では、0 から 1 への移動が 1 HIMETRIC 単位に相当します。このマッピングにより、複数の InkDisp オブジェクトを容易に関連付けることができます。

InkRenderer オブジェクトは、インクと表示ウィンドウ間のマッピングを管理します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp)