InkDisp
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
(フィールドなし)
公式ドキュメント
インク空間内で収集されたインクのストロークを表します。
InkDisp には次の種類のメンバーがあります。
イベント
InkDisp クラスには次のイベントがあります。
| イベント | 説明 |
|---|---|
| InkAdded | InkDisp オブジェクトにストロークが追加されたときに発生します。 |
| InkDeleted | InkDisp オブジェクトからストロークが削除されたときに発生します。 |
インターフェイス
InkDisp クラスは次のインターフェイスを定義します。
| インターフェイス | 説明 |
|---|---|
| IInkDisp | このオブジェクトは IInkDisp COM インターフェイスを実装します。 |
メソッド
InkDisp クラスには次のメソッドがあります。
| メソッド | 説明 |
|---|---|
| AddStrokesAtRectangle | 指定した四角形の位置に、ストロークのコレクションを InkDisp オブジェクトへ挿入します。 |
| CanPaste | IDataObject を InkDisp オブジェクトに変換できるかどうかを示します。 |
| Clip | 四角形の外側にあるストローク、またはストロークのコレクションの部分を削除します。 |
| ClipboardCopy | InkStrokes コレクションをクリップボードにコピーします。 |
| ClipboardCopyWithRectangle | 指定した四角形に含まれる IInkStrokeDisp オブジェクトをクリップボードにコピーします。 |
| ClipboardPaste | クリップボードから IDataObject を InkDisp オブジェクトにコピーします。 |
| 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 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp)