InkOverlay
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
(フィールドなし)
公式ドキュメント
インクに対する認識の実行ではなく、インクのサイズ、形状、色、位置に関心があるような注釈シナリオで役立つオブジェクトを表します。
透明なコントロール (WS_EX_TRANSPARENT プロパティが設定された GroupBox など) の背後に InkOverlay コントロールを作成すると、InkOverlay はインクを収集できなくなります。
InkOverlay には次の種類のメンバーがあります。
イベント
InkOverlay クラスには次のイベントがあります。
| イベント | 説明 |
|---|---|
| CursorButtonDown | InkOverlay がカーソル ボタンの押下を検出したときに発生します。 |
| CursorButtonUp | InkOverlay がカーソル ボタンが離されたことを検出したときに発生します。 |
| CursorDown | カーソルの先端がデジタイザー タブレットの表面に接触したときに発生します。 |
| CursorInRange | カーソルがタブレット コンテキストの物理的な検出範囲 (近接範囲) に入ったときに発生します。 |
| CursorOutOfRange | カーソルがタブレット コンテキストの物理的な検出範囲 (近接範囲) から外れたときに発生します。 |
| DoubleClick | InkOverlay オブジェクトがダブルクリックされたときに発生します。 |
| Gesture | アプリケーション固有のジェスチャが認識されたときに発生します。 |
| MouseDown | マウス ポインターが InkOverlay オブジェクト上にある状態でマウス ボタンが押されたときに発生します。 |
| MouseMove | マウス ポインターが InkOverlay オブジェクト上を移動したときに発生します。 |
| MouseUp | マウス ポインターが InkOverlay オブジェクト上にある状態でマウス ボタンが離されたときに発生します。 |
| MouseWheel | InkOverlay オブジェクトがフォーカスを持っている状態でマウス ホイールが動いたときに発生します。 |
| NewInAirPackets | インエア パケットが検出されたときに発生します。これは、ユーザーがペンをタブレットに近づけてカーソルが InkOverlay オブジェクトのウィンドウ内にある場合、またはユーザーが InkOverlay オブジェクトに関連付けられたウィンドウ内でマウスを動かした場合に発生します。 |
| NewPackets | InkOverlay オブジェクトがパケットを受け取ったときに発生します。 |
| Painted | InkOverlay オブジェクトが自身の再描画を完了したときに発生します。 |
| Painting | InkOverlay オブジェクトが自身を再描画する前に発生します。 |
| SelectionChanged | ユーザー インターフェイスの変更、切り取りと貼り付けの操作、または Selection プロパティなどによって、コントロール内のインクの選択範囲が変更されたときに発生します。 |
| SelectionChanging | ユーザー インターフェイスの変更、切り取りと貼り付けの操作、または Selection プロパティなどによって、コントロール内のインクの選択範囲が変更されようとしているときに発生します。 |
| SelectionMoved | ユーザー インターフェイスの変更、切り取りと貼り付けの操作、または Selection プロパティなどによって、現在の選択範囲の位置が変更されたときに発生します。 |
| SelectionMoving | ユーザー インターフェイスの変更、切り取りと貼り付けの操作、または Selection プロパティなどによって、現在の選択範囲の位置が変更されようとしているときに発生します。 |
| SelectionResized | ユーザー インターフェイスの変更、切り取りと貼り付けの操作、または Selection プロパティなどによって、現在の選択範囲のサイズが変更されたときに発生します。 |
| SelectionResizing | ユーザー インターフェイスの変更、切り取りと貼り付けの操作、または Selection プロパティなどによって、現在の選択範囲のサイズが変更されようとしているときに発生します。 |
| Stroke | ユーザーがいずれかのタブレット上で新しいストロークの描画を終えたときに発生します。 |
| StrokesDeleted | Ink プロパティからストロークが削除された後に発生します。 |
| StrokesDeleting | Ink プロパティからストロークが削除される前に発生します。 |
| SystemGesture | システム ジェスチャが認識されたときに発生します。 |
| TabletAdded | IInkTablet がシステムに追加されたときに発生します。 |
| TabletRemoved | Tablet がシステムから削除されたときに発生します。 |
インターフェイス
InkOverlay クラスは次のインターフェイスを定義します。
| インターフェイス | 説明 |
|---|---|
| IInkOverlay | このオブジェクトは IInkOverlay COM インターフェイスを実装します。 |
メソッド
InkOverlay クラスには次のメソッドがあります。
| メソッド | 説明 |
|---|---|
| Draw | InkOverlay オブジェクト内のインクを再描画する四角形を設定します。 |
| GetEventInterest | 特定の InkOverlay オブジェクト イベントの現在の状態、つまりそのイベントがリッスンまたは使用されているかどうかを返します。 |
| GetGestureStatus | InkOverlay オブジェクトが特定のジェスチャに関心を持っているかどうかを返します。 |
| GetWindowInputRectangle | インクが描画されるウィンドウの四角形をピクセル単位で取得します。 |
| HitTestSelection | ヒット テスト中に選択範囲のどの部分がヒットしたかを判定します。 |
| SetAllTabletsMode | このモードでは、InkOverlay オブジェクトが Tablet PC に接続されている任意のタブレットからインクを収集できます。 |
| SetEventInterest | 特定のイベントをリッスンまたは使用するかどうかを設定します。 |
| SetGestureStatus | 既知のジェスチャに対する InkOverlay オブジェクトの関心を設定します。 |
| SetSingleTabletIntegratedMode | このモードでは、InkOverlay オブジェクトは 1 つのタブレットからのみインクを収集します。他のタブレットからのインクは InkOverlay オブジェクトによって無視されます。 |
| SetWindowInputRectangle | 描画されたインクをウィンドウにマップするために使用するウィンドウの四角形をピクセル単位で設定します。 |
プロパティ
InkOverlay クラスには次のプロパティがあります。
| プロパティ | アクセスの種類 | 説明 |
|---|---|---|
| AttachMode |
読み取り/書き込み |
InkOverlay オブジェクトを既知のウィンドウの背後と前面のどちらにアタッチするかを指定する値を取得または設定します。 |
| AutoRedraw |
読み取り/書き込み |
ウィンドウが無効化されたときに InkOverlay がインクを再描画するかどうかを指定する値を取得または設定します。 |
| CollectingInk |
読み取り専用 |
現在 InkOverlay オブジェクト上でインクが描画されているかどうかを指定する値を取得します。 |
| CollectionMode |
読み取り/書き込み |
ユーザーの書き込み時にインク、ジェスチャ、またはその両方のどれを認識するかを決定する収集モードを取得または設定します。 |
| Cursors |
読み取り専用 |
インク領域で使用できる Cursors コレクションを取得します。 |
| DefaultDrawingAttributes |
読み取り/書き込み |
インクの描画および表示時に使用される描画属性を指定する、既定の InkDrawingAttributes オブジェクトを取得または設定します。 |
| DesiredPacketDescription |
読み取り/書き込み |
InkOverlay オブジェクト上に描画されるインクに関連付けられたパケットの、どの要素に関心があるかを取得または設定します。 |
| DynamicRendering |
読み取り/書き込み |
インクが描画と同時にレンダリングされるかどうかを示す値を取得または設定します。 |
| EditingMode |
読み取り/書き込み |
InkOverlay がインク モード、削除モード、選択/編集モードのいずれであるかを示す値を取得または設定します。 |
| Enabled |
読み取り/書き込み |
InkOverlay オブジェクトがペン入力を収集するかどうかを指定する値を取得または設定します。 |
| EraserMode |
読み取り/書き込み |
インクをストローク単位と点単位のどちらで消去するかを示す値を取得または設定します。 |
| EraserWidth |
読み取り/書き込み |
消しゴムのペン先の幅を指定する値を取得または設定します。 |
| Handle |
読み取り/書き込み |
InkOverlay オブジェクトがアタッチされているウィンドウのハンドルを取得または設定します。 |
| Ink |
読み取り/書き込み |
InkOverlay オブジェクトに関連付けられた InkDisp オブジェクトを取得または設定します。 |
| MarginX |
読み取り/書き込み |
x 軸方向の余白をピクセル単位で取得または設定します。 |
| MarginY |
読み取り/書き込み |
y 軸方向の余白をピクセル単位で取得または設定します。 |
| MouseIcon |
読み取り/書き込み |
現在のカスタム マウス アイコンを取得または設定します。 |
| MousePointer |
読み取り/書き込み |
マウスがオブジェクトの特定の部分の上にあるときに表示されるマウス ポインターの種類を示す値を取得または設定します。 |
| Renderer |
読み取り/書き込み |
インクの描画に使用される InkRenderer オブジェクトを取得または設定します。 |
| Selection |
読み取り/書き込み |
InkOverlay コントロール内で現在選択されている InkStrokes コレクションを取得または設定します。 |
| SupportHighContrastInk |
読み取り/書き込み |
システムがハイ コントラスト モードのときに、インクを単一の色でレンダリングするかどうかを指定する値を取得または設定します。 |
| SupportHighContrastSelectionUI |
読み取り/書き込み |
システムがハイ コントラスト モードのときに、すべての選択 UI をハイ コントラストで描画するかどうかを指定する値を取得または設定します。 |
| Tablet |
読み取り専用 |
InkOverlay オブジェクトが現在入力の収集に使用しているタブレット デバイスを取得します。 |
解説(Remarks)
このオブジェクトは、C++ で CoCreateInstance メソッドを呼び出してインスタンス化できます。
InkOverlay オブジェクトは、メモの作成や簡単な書き込みに適しています。このオブジェクトの主な用途は、インクをインクとして表示することです。
一般に、このオブジェクトの実行時のユーザー インターフェイスは、不透明なインクを伴う透明なウィンドウです。
MouseDown、MouseMove、MouseUp、MouseWheel の各イベントは、インク空間に関連付けられた HIMETRIC 単位ではなく、ピクセル単位で x 座標と y 座標を返します。これは、これらのイベントがペン非対応アプリケーションのマウス イベントを置き換えるものであり、それらのアプリケーションはピクセルしか理解しないためです。
InkOverlay オブジェクトの AttachMode プロパティを InFront に設定する場合は、フォームが実行されているスレッドで InkOverlay オブジェクトを作成してください。InkOverlay オブジェクトを別のスレッドで作成し、その AttachMode プロパティを InFront に設定すると、アプリケーションが応答しなくなる可能性があります。
InkOverlay オブジェクトは、UI スレッド以外のスレッドで安全に解放することはできません。
アプリケーションのパフォーマンスを向上させるため、InkOverlay オブジェクトが不要になったら破棄してください。
InkOverlay オブジェクトを CView オブジェクトにアタッチした場合は、次の例のように WM_DESTROY メッセージに応じて InkOverlay オブジェクトを解放してください。
BOOL CRecognitionAlternatesSampleCppView::OnWndMsg(UINT msg, WPARAM wp, PARAM lp, LRESULT *pLR)
{
if(WM_DESTROY == msg)
m_spInkOverlay.Release();
return CView::OnWndMsg(msg, wp, lp, pLR);
}
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp)