InkOverlay クラス
ユーザーがインクに対する認識の実行に関心を持たず、代わりにインクのサイズ、形状、色、位置に関心がある注釈シナリオに役立つオブジェクトを表します。
透明なコントロールの背後に InkOverlay コントロールを作成すると (WS_EX_TRANSPARENT プロパティ セットを持つ GroupBox など) 、InkOverlay がインクを収集できなくなります。
InkOverlay には、次の種類のメンバーがあります。
イベント
InkOverlay クラスには、これらのイベントがあります。
Event | 説明 |
---|---|
CursorButtonDown |
InkOverlay が下にあるカーソル ボタンを検出したときに発生します。 |
CursorButtonUp |
InkOverlay が、稼働中のカーソル ボタンを検出したときに発生します。 |
CursorDown | カーソルの先端がデジタイズタブレットの表面に接触したときに発生します。 |
CursorInRange | カーソルがタブレット コンテキストの物理的な検出範囲 (近接) に入ったときに発生します。 |
CursorOutOfRange | カーソルがタブレット コンテキストの物理的な検出範囲 (近接) から離れると発生します。 |
Doubleclick |
InkOverlay オブジェクトがダブルクリックされたときに発生します。 |
ジェスチャ | アプリケーション固有のジェスチャが認識されたときに発生します。 |
MouseDown | マウス ポインターが InkOverlay オブジェクトの上にあり、マウス ボタンが押されたときに発生します。 |
MouseMove | マウス ポインターが InkOverlay オブジェクトの上に移動したときに発生します。 |
MouseUp | マウス ポインターが InkOverlay オブジェクトの上にあり、マウス ボタンが離されたときに発生します。 |
Mousewheel |
InkOverlay オブジェクトにフォーカスがあるときにマウス ホイールが移動したときに発生します。 |
NewInAirPackets | ユーザーがタブレットの近くにペンを移動し、カーソルが InkOverlay オブジェクトのウィンドウ内にあるか、ユーザーが InkOverlay オブジェクトの関連付けられたウィンドウ内でマウスを移動したときに発生する、空中パケットが表示されたときに発生します。 |
NewPackets |
InkOverlay オブジェクトがパケットを受信したときに発生します。 |
塗装 |
InkOverlay オブジェクト自体の再描画が完了したときに発生します。 |
描画 |
InkOverlay オブジェクトが再描画される前に発生します。 |
SelectionChanged | ユーザー インターフェイスの変更、切り取りおよび貼り付けプロシージャ、 Selection プロパティなど、コントロール内のインクの選択が変更されたときに発生します。 |
SelectionChanging | ユーザー インターフェイスの変更、切り取りおよび貼り付けプロシージャ、 Selection プロパティなど、コントロール内のインクの選択が変更されようとしているときに発生します。 |
SelectionMoved | ユーザー インターフェイスの変更、切り取りおよび貼り付けプロシージャ、 Selection プロパティなど、現在の選択範囲の位置が変更されたときに発生します。 |
SelectionMoving | ユーザー インターフェイスの変更、切り取りおよび貼り付けプロシージャ、 Selection プロパティなど、現在の選択範囲の位置が変更されようとしているときに発生します。 |
SelectionResized | ユーザー インターフェイスの変更、切り取りおよび貼り付けプロシージャ、 Selection プロパティなど、現在の選択範囲のサイズが変更されたときに発生します。 |
SelectionResizing | ユーザー インターフェイスの変更、切り取りおよび貼り付けプロシージャ、 Selection プロパティなど、現在の選択範囲のサイズが変更されようとしているときに発生します。 |
ストローク | ユーザーが任意のタブレットで新しいストロークの描画を完了したときに発生します。 |
StrokesDeleted |
Ink プロパティからストロークが削除された後に発生します。 |
StrokesDeleting |
Ink プロパティからストロークが削除される前に発生します。 |
SystemGesture | システム ジェスチャが認識されたときに発生します。 |
TabletAdded |
IInkTablet がシステムに追加されたときに発生します。 |
TabletRemoved |
タブレットがシステムから削除されたときに発生します。 |
インターフェイス
InkOverlay クラスは、これらのインターフェイスを定義します。
インターフェイス | 説明 |
---|---|
IInkOverlay | このオブジェクトは、 IInkOverlay COM インターフェイスを実装します。 |
メソッド
InkOverlay クラスには、これらのメソッドがあります。
メソッド | 説明 |
---|---|
描画 |
InkOverlay オブジェクト内でインクを再描画する四角形を設定します。 |
GetEventInterest | 特定の InkOverlay オブジェクト イベントの現在の状態 (イベントがリッスンされているか使用されているか) を返します。 |
GetGestureStatus |
InkOverlay オブジェクトが特定のジェスチャに関心があるかどうかを返します。 |
GetWindowInputRectangle | インクを描画するウィンドウの四角形をピクセル単位で取得します。 |
HitTestSelection | ヒット テスト中にヒットした選択範囲の部分を決定します。 |
SetAllTabletsMode | このモードを使用すると、 InkOverlay オブジェクトは、タブレット PC に接続されている任意のタブレットからインクを収集できます。 |
SetEventInterest | 特定のイベントをリッスンするか使用するかを設定します。 |
SetGestureStatus | 既知のジェスチャで InkOverlay オブジェクトの関心を設定します。 |
SetSingleTabletIntegratedMode | このモードでは、 InkOverlay オブジェクトが 1 つのタブレットからのみインクを収集できます。
InkOverlay オブジェクトでは、他のタブレットのインクは無視されます。 |
SetWindowInputRectangle | 描画されたインクをウィンドウにマップするために使用するウィンドウの四角形をピクセル単位で設定します。 |
プロパティ
InkOverlay クラスには、これらのプロパティがあります。
プロパティ | アクセスの種類 | 説明 |
---|---|---|
AttachMode |
読み取り/書き込み |
InkOverlay オブジェクトを既知のウィンドウの背後または前面にアタッチするかどうかを指定する値を取得または設定します。 |
AutoRedraw |
読み取り/書き込み |
ウィンドウが無効になったときに InkOverlay がインクを再描画するかどうかを指定する値を取得または設定します。 |
CollectingInk |
読み取り専用 |
InkOverlay オブジェクトにインクが現在描画されているかどうかを示す値を取得します。 |
CollectionMode |
読み取り/書き込み |
インク、ジェスチャ、またはその両方がユーザーの書き込みとして認識されるかどうかを決定するコレクション モードを取得または設定します。 |
カーソル |
読み取り専用 |
インク領域で使用できる Cursors コレクションを取得します。 |
DefaultDrawingAttributes |
読み取り/書き込み |
インクの描画および表示時に使用される描画属性を指定する、既定の InkDrawingAttributes オブジェクトを取得または設定します。 |
DesiredPacketDescription |
読み取り/書き込み |
InkOverlay オブジェクトに描画されたインクに関連付けられているパケットの側面を取得または設定します。 |
DynamicRendering |
読み取り/書き込み |
インクが描画されるときにレンダリングされるかどうかを示す値を取得または設定します。 |
EditingMode |
読み取り/書き込み |
InkOverlay がインク モード、削除モード、または選択/編集モードかどうかを示す値を取得または設定します。 |
Enabled |
読み取り/書き込み |
InkOverlay オブジェクトがペン入力を収集するかどうかを指定する値を取得または設定します。 |
消しゴムモード |
読み取り/書き込み |
ストロークまたはポイントによってインクが消去されるかどうかを示す値を取得または設定します。 |
EraserWidth |
読み取り/書き込み |
消しゴムのペン先の幅を指定する値を取得または設定します。 |
Handle |
読み取り/書き込み |
InkOverlay オブジェクトがアタッチされているウィンドウのハンドルを取得または設定します。 |
インク |
読み取り/書き込み |
InkOverlay オブジェクトに関連付けられている InkDisp オブジェクトを取得または設定します。 |
MarginX |
読み取り/書き込み |
x 軸に沿った余白をピクセル単位で取得または設定します。 |
MarginY |
読み取り/書き込み |
y 軸に沿った余白をピクセル単位で取得または設定します。 |
MouseIcon |
読み取り/書き込み |
現在のカスタム マウス アイコンを取得または設定します。 |
MousePointer |
読み取り/書き込み |
オブジェクトの特定の部分にマウスを置いたときに表示されるマウス ポインターの種類を示す値を取得または設定します。 |
レンダラー |
読み取り/書き込み |
インクの描画に使用される InkRenderer オブジェクトを取得または設定します。 |
選択 |
読み取り/書き込み |
InkOverlay コントロール内で現在選択されている InkStrokes コレクションを取得または設定します。 |
SupportHighContrastInk |
読み取り/書き込み |
システムがハイ コントラスト モードのときにインクを 1 色としてレンダリングするかどうかを指定する値を取得または設定します。 |
SupportHighContrastSelectionUI |
読み取り/書き込み |
システムがハイ コントラスト モードのときに、すべての選択 UI をハイ コントラストで描画するかどうかを指定する値を取得または設定します。 |
タブレット |
読み取り専用 |
InkOverlay オブジェクトが入力の収集に現在使用しているタブレット デバイスを取得します。 |
MFC 実装に関する注意事項
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);
}
解説
このオブジェクトは、C++ で CoCreateInstance メソッドを呼び出すことによってインスタンス化できます。
InkOverlay オブジェクトは、メモの作成と基本的な落書きに適しています。 このオブジェクトの主な用途は、インクをインクとして表示することです。
一般に、このオブジェクトの実行時ユーザー インターフェイスは、不透明なインクを持つ透明ウィンドウです。
MouseDown、MouseMove、MouseUp、および MouseWheel イベントは、インク空間に関連付けられている HIMETRIC 単位ではなく、x 座標と y 座標をピクセル単位で返します。 これは、これらのイベントがペン非対応アプリケーションのマウス イベントを置き換え、これらのアプリケーションがピクセルのみを認識するためです。
注意事項
InkOverlay オブジェクトの AttachMode プロパティを InFront に設定する場合は、フォームが実行されているスレッドに InkOverlay オブジェクトを作成します。 InkOverlay オブジェクトが別のスレッドで作成され、その AttachMode プロパティが InFront に設定されている場合、アプリケーションは応答を停止することがあります。
Note
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);
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows XP Tablet PC Edition [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
サポートなし |
ヘッダー |
|
ライブラリ |
|