IInkOverlay
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
. (IInkOverlay)
解説(Remarks)
透明なコントロール (WS_EX_TRANSPARENT プロパティが設定された GroupBox など) の背後に InkOverlay コントロールを作成すると、InkOverlay はインクを収集できなくなります。
メソッド 54
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
インクが描画されるウィンドウのハンドル値を取得または設定します。(IInkOverlay.get_hWnd)
| CurrentWindow | INT_PTR* | out | インク オーバーレイが関連付けられている現在のウィンドウ ハンドルを受け取るポインタである。 |
解説(Remarks)
ウィンドウが 2 つ以上存在する場合、このプロパティを使用して、どのウィンドウがインクを収集するかを指定できます。
インクが描画されるウィンドウのハンドル値を取得または設定します。(IInkOverlay.put_hWnd)
| NewWindow | INT_PTR | in | インク オーバーレイを関連付けるウィンドウ ハンドルを指定する。 |
解説(Remarks)
ウィンドウが 2 つ以上存在する場合、このプロパティを使用して、どのウィンドウがインクを収集するかを指定できます。
InkOverlay オブジェクトがペン入力 (in-air パケット、カーソルが範囲内に入るイベントなど) を収集するかどうかを指定する値を取得または設定します。(Get)
| Collecting | VARIANT_BOOL* | out | インク オーバーレイが有効かどうかを受け取る VARIANT_BOOL へのポインタである。 |
解説(Remarks)
有効なオブジェクトのウィンドウ入力矩形 (コンストラクターまたは SetWindowInputRectangle メソッドで設定) が、別の有効なオブジェクトのウィンドウ入力矩形と重なっている場合、E_INK_OVERLAPPING_INPUT_RECT エラーが返されます。ある時点で有効な入力矩形が 1 つだけであれば、重なりが生じてもエラーにはなりません。
オブジェクトが有効になっていない間は、イベントを受け取りません。
コンテナー コントロールの Enabled プロパティが FALSE に設定されている場合、そこに含まれるすべてのコントロールも無効になります。
オブジェクトがインクを収集している間 (CollectingInk プロパティが TRUE の間) は、Enabled プロパティを FALSE に設定できません。
アプリケーションの終了時には、Enabled を FALSE に設定することをお勧めします。
プロパティ
メソッドInkOverlay オブジェクトがペン入力 (in-air パケット、カーソルが範囲内に入るイベントなど) を収集するかどうかを指定する値を取得または設定します。(Put)
| Collecting | VARIANT_BOOL | in | インク オーバーレイを有効にするかどうかを指定する VARIANT_BOOL である。 |
解説(Remarks)
有効なオブジェクトのウィンドウ入力矩形 (コンストラクターまたは SetWindowInputRectangle メソッドで設定) が、別の有効なオブジェクトのウィンドウ入力矩形と重なっている場合、E_INK_OVERLAPPING_INPUT_RECT エラーが返されます。ある時点で有効な入力矩形が 1 つだけであれば、重なりが生じてもエラーにはなりません。
オブジェクトが有効になっていない間は、イベントを受け取りません。
コンテナー コントロールの Enabled プロパティが FALSE に設定されている場合、そこに含まれるすべてのコントロールも無効になります。
オブジェクトがインクを収集している間 (CollectingInk プロパティが TRUE の間) は、Enabled プロパティを FALSE に設定できません。
アプリケーションの終了時には、Enabled を FALSE に設定することをお勧めします。
プロパティ
メソッドインクの描画および表示に使用する既定の描画属性を取得または設定します。(IInkOverlay.get_DefaultDrawingAttributes)
| CurrentAttributes | IInkDrawingAttributes** | out | 新しいストロークに適用される既定の描画属性を受け取るポインタである。 |
解説(Remarks)
このプロパティで指定した描画属性が、新しいカーソルに割り当てられる属性になります。
既定の描画属性は次のとおりです。
AntiAliased = TRUE
Color = ハイ コントラスト モードでない場合は BLACK (RGB(0,0,0))。それ以外の場合は Color=COLOR_WINDOWTEXT。
FitToCurve = FALSE
Height = 1 (インク空間単位)
IgnorePressure = FALSE
PenTip = Ball
RasterOperation = CopyPen
Transparency = 0 (完全に不透明)
Width = 53 (インク空間単位)
新しいカーソルに別の属性を設定するには、IInkCursor オブジェクトの DrawingAttributes プロパティを使用します。
1 本のストロークの描画属性を変更するには、IInkStrokeDisp オブジェクトの DrawingAttributes プロパティを使用します。ストロークのコレクションの描画属性を変更するには、InkStrokes コレクションの ModifyDrawingAttributes メソッドを呼び出します。
| NewAttributes | IInkDrawingAttributes* | inoptional | 新しいストロークに適用する既定の描画属性へのポインタである。 |
インクの描画に使用される InkRenderer オブジェクトを取得または設定します。(IInkOverlay.get_Renderer)
| CurrentInkRenderer | IInkRenderer** | out | 現在使用されているインク レンダラを受け取るポインタである。 |
解説(Remarks)
特定のウィンドウ メッセージを処理している間に、InkOverlay に関連付けられた Renderer を変更すると、関数の再入呼び出しが発生し、予期しない結果を招くことがあります。たとえば、メッセージ ハンドラー内で別の Renderer に切り替えたり、その変換を変更したりすると、再入呼び出しになる可能性があります。これは次のメッセージに影響します。WM_ACTIVATE、WM_ACTIVATEAPP、WM_NCACTIVATE、WM_PAINT、wParam に SC_HOTKEY または SC_TASKLIST が設定されている場合の WM_SYSCOMMAND、および WM_SYSKEYDOWN (Alt-Tab または Alt-Esc のキーの組み合わせを処理する場合)。これはシングルスレッド アパートメント モデルのアプリケーションで発生する問題です。
| NewInkRenderer | IInkRenderer* | inoptional | 使用するインク レンダラへのポインタである。 |
InkCollector オブジェクトまたは InkOverlay オブジェクトに関連付けられている InkDisp オブジェクトを取得または設定します。(IInkOverlay.get_Ink)
| Ink | IInkDisp** | out | このオーバーレイに関連付けられたインク オブジェクトを受け取るポインタである。 |
解説(Remarks)
| NewInk | IInkDisp* | inoptional | このオーバーレイに関連付けるインク オブジェクトへのポインタである。 |
ウィンドウが無効化されたときに、インク コレクターがインクを再描画するかどうかを指定する値を取得または設定します。(IInkOverlay.get_AutoRedraw)
| AutoRedraw | VARIANT_BOOL* | out | ウィンドウの再描画時にインクを自動再描画するかどうかを受け取る VARIANT_BOOL へのポインタである。 |
解説(Remarks)
TRUE の場合、ウィンドウが無効化されたときにインク コレクターがインクを再描画します。たとえば、ウィンドウを最小化してから復元すると、インクは自動的に再描画されます。FALSE の場合、ウィンドウが無効化されてもインク コレクターはインクを再描画しません。たとえば、ウィンドウを最小化してから復元すると、インクは画面から消えます。
AutoRedraw が FALSE の場合でも、DynamicRendering プロパティが false でない限り、書き込み中はインクが表示されます。
アプリケーションが独自の描画を行う場合や、描画の問題に影響を受けやすい場合は、再描画を自分で処理し、InkCollector オブジェクト、InkOverlay オブジェクト、または InkPicture コントロールの AutoRedraw プロパティを FALSE に設定できます。再描画の処理には、次の表に示すイベントを使用します。
| オブジェクトまたはコントロール | イベント |
|---|---|
| InkCollector オブジェクト | 基になるコントロールの Invalidated イベントおよび Paint イベント。 |
| InkOverlay オブジェクト | 基になるコントロールの Invalidated イベントおよび Paint イベント。 |
| InkPicture コントロール | InkPicture コントロールが継承した Invalidated イベントおよび Paint イベント。 |
ウィンドウが無効化されたときに、インク コレクターがインクを再描画するかどうかを指定する値を取得または設定します。(IInkOverlay.put_AutoRedraw)
| AutoRedraw | VARIANT_BOOL | in | ウィンドウの再描画時にインクを自動再描画するかどうかを指定する VARIANT_BOOL である。 |
解説(Remarks)
TRUE の場合、ウィンドウが無効化されたときにインク コレクターがインクを再描画します。たとえば、ウィンドウを最小化してから復元すると、インクは自動的に再描画されます。FALSE の場合、ウィンドウが無効化されてもインク コレクターはインクを再描画しません。たとえば、ウィンドウを最小化してから復元すると、インクは画面から消えます。
AutoRedraw が FALSE の場合でも、DynamicRendering プロパティが false でない限り、書き込み中はインクが表示されます。
アプリケーションが独自の描画を行う場合や、描画の問題に影響を受けやすい場合は、再描画を自分で処理し、InkCollector オブジェクト、InkOverlay オブジェクト、または InkPicture コントロールの AutoRedraw プロパティを FALSE に設定できます。再描画の処理には、次の表に示すイベントを使用します。
| オブジェクトまたはコントロール | イベント |
|---|---|
| InkCollector オブジェクト | 基になるコントロールの Invalidated イベントおよび Paint イベント。 |
| InkOverlay オブジェクト | 基になるコントロールの Invalidated イベントおよび Paint イベント。 |
| InkPicture コントロール | InkPicture コントロールが継承した Invalidated イベントおよび Paint イベント。 |
現在、インク コレクター (InkCollector、InkOverlay、または InkPicture) 上でインクが描画されているかどうかを指定する値を取得します。(IInkOverlay.get_CollectingInk)
| Collecting | VARIANT_BOOL* | out | 現在インクを収集中(ストローク描画中)かどうかを受け取る VARIANT_BOOL へのポインタである。 |
解説(Remarks)
Stroke イベントを監視する代わりに、CollectingInk プロパティを使用して、インク コレクター上でインクが描画されているかどうかを確認できます。
ユーザーが書き込む際に、インク、ジェスチャ、またはその両方のいずれを認識するかを決定する収集モードを取得または設定します。(IInkOverlay.get_CollectionMode)
| Mode | InkCollectionMode* | out | 現在の収集モード(インク・ジェスチャ・両方)を受け取る InkCollectionMode へのポインタである。 |
解説(Remarks)
使用できるモードの一覧については、InkCollectionMode 列挙型を参照してください。ただし、Microsoft Windows XP Tablet PC Edition Software Development Kit (SDK) はインストールされているものの認識エンジンがインストールされていないシステムで CollectionMode プロパティを使用する場合、モードを GestureOnly または InkAndGesture に設定することはできません。
InkOnly モード
- インクのみが収集され、ジェスチャは収集されません。
- Gesture イベントへの関心が FALSE に設定されます (他のすべてのイベントへの関心はそのまま維持されます)。
GestureOnly モード
- ジェスチャのみが収集され、インクは収集されません。ストロークはジェスチャ認識エンジンに送信された後に削除されます。
- Gesture イベントへの関心が TRUE に設定されます (他のすべてのイベントへの関心はそのまま維持されます)。
- インク コレクターは、次のストロークおよびパケット関連のイベントを発生させません。CursorDown、Stroke、NewPackets、NewInAirPackets の各イベントです。
- カーソル イベントは発生します。
- インクは常に削除されます。
InkAndGesture モード
- インクとジェスチャの両方が収集されます。
- 認識されるのは 1 ストロークのジェスチャのみです。
- Gesture イベントへの関心が TRUE に設定されます (他のすべてのイベントへの関心はそのまま維持されます)。
- 最初に Gesture イベントが発生し、ジェスチャを受け入れるかキャンセルするかを選択できます。ジェスチャをキャンセルするには、Cancel パラメーターを TRUE に設定します。ジェスチャをキャンセルすると、インク コレクターはインクを収集します。
CollectionMode が InkAndGesture に設定され、かつ (SetGestureStatus メソッドの呼び出しによって) オブジェクトまたはコントロールが特定のジェスチャに関心を持つように設定されている場合、望ましくない動作が発生することがあります。その特定のジェスチャに似たインクを描画し、そのジェスチャが認識エンジンの候補一覧に含まれている場合、そのジェスチャが最上位の候補でなくても Gesture イベントが発生し、インクが消えます。インクが消えるのを防ぎ、ジェスチャの収集をキャンセルするには、関心のないイベントであれば Cancel パラメーターを TRUE に設定します。
CollectionMode が GestureOnly に設定されている場合、ユーザーがジェスチャを行ってから Gesture イベントが発生するまでのタイムアウトは固定値であり、プログラムから変更することはできません。ジェスチャの認識は InkAndGesture モードの方が高速です。InkAndGesture モードでインクの収集を防ぐには、次の手順を実行します。
- CollectionMode プロパティを InkAndGesture に設定します。
- Stroke イベントでストロークを削除します。
- Gesture イベントでジェスチャを処理します。
- ジェスチャ中にインクが表示されるのを防ぐため、DynamicRendering を FALSE に設定します。
ユーザーが書き込む際に、インク、ジェスチャ、またはその両方のいずれを認識するかを決定する収集モードを取得または設定します。(IInkOverlay.put_CollectionMode)
| Mode | InkCollectionMode | in | 設定する収集モード(インク・ジェスチャ・両方)を指定する InkCollectionMode 値である。 |
解説(Remarks)
使用できるモードの一覧については、InkCollectionMode 列挙型を参照してください。ただし、Microsoft Windows XP Tablet PC Edition Software Development Kit (SDK) はインストールされているものの認識エンジンがインストールされていないシステムで CollectionMode プロパティを使用する場合、モードを GestureOnly または InkAndGesture に設定することはできません。
InkOnly モード
- インクのみが収集され、ジェスチャは収集されません。
- Gesture イベントへの関心が FALSE に設定されます (他のすべてのイベントへの関心はそのまま維持されます)。
GestureOnly モード
- ジェスチャのみが収集され、インクは収集されません。ストロークはジェスチャ認識エンジンに送信された後に削除されます。
- Gesture イベントへの関心が TRUE に設定されます (他のすべてのイベントへの関心はそのまま維持されます)。
- インク コレクターは、次のストロークおよびパケット関連のイベントを発生させません。CursorDown、Stroke、NewPackets、NewInAirPackets の各イベントです。
- カーソル イベントは発生します。
- インクは常に削除されます。
InkAndGesture モード
- インクとジェスチャの両方が収集されます。
- 認識されるのは 1 ストロークのジェスチャのみです。
- Gesture イベントへの関心が TRUE に設定されます (他のすべてのイベントへの関心はそのまま維持されます)。
- 最初に Gesture イベントが発生し、ジェスチャを受け入れるかキャンセルするかを選択できます。ジェスチャをキャンセルするには、Cancel パラメーターを TRUE に設定します。ジェスチャをキャンセルすると、インク コレクターはインクを収集します。
CollectionMode が InkAndGesture に設定され、かつ (SetGestureStatus メソッドの呼び出しによって) オブジェクトまたはコントロールが特定のジェスチャに関心を持つように設定されている場合、望ましくない動作が発生することがあります。その特定のジェスチャに似たインクを描画し、そのジェスチャが認識エンジンの候補一覧に含まれている場合、そのジェスチャが最上位の候補でなくても Gesture イベントが発生し、インクが消えます。インクが消えるのを防ぎ、ジェスチャの収集をキャンセルするには、関心のないイベントであれば Cancel パラメーターを TRUE に設定します。
CollectionMode が GestureOnly に設定されている場合、ユーザーがジェスチャを行ってから Gesture イベントが発生するまでのタイムアウトは固定値であり、プログラムから変更することはできません。ジェスチャの認識は InkAndGesture モードの方が高速です。InkAndGesture モードでインクの収集を防ぐには、次の手順を実行します。
- CollectionMode プロパティを InkAndGesture に設定します。
- Stroke イベントでストロークを削除します。
- Gesture イベントでジェスチャを処理します。
- ジェスチャ中にインクが表示されるのを防ぐため、DynamicRendering を FALSE に設定します。
インクが描画されるのに合わせてレンダリングされるかどうかを指定する値を取得または設定します。(IInkOverlay.get_DynamicRendering)
| Enabled | VARIANT_BOOL* | out | 描画中にインクをリアルタイム表示する動的レンダリングが有効かどうかを受け取る VARIANT_BOOL へのポインタである。 |
インクが描画されるのに合わせてレンダリングされるかどうかを指定する値を取得または設定します。(IInkOverlay.put_DynamicRendering)
| Enabled | VARIANT_BOOL | in | 描画中の動的レンダリングを有効にするかどうかを指定する VARIANT_BOOL である。 |
InkCollector の目的のパケット記述を取得または設定します。(IInkOverlay.get_DesiredPacketDescription)
| PacketGuids | VARIANT* | out | 収集するパケットに含めたいプロパティの GUID 配列を受け取る VARIANT へのポインタである。 |
解説(Remarks)
この記述は、PacketProperty オブジェクトのグローバル一意識別子 (GUID) の配列です。
マルチタブレット モードでは、これはすべてのタブレット デバイスに対するパケット記述です。いずれかのデバイスが特定のパケット記述プロパティをサポートしていない場合、そのプロパティのデータは返されません。
既定では、DesiredPacketDescription には PacketProperty オブジェクトの STR_GUID_X、STR_GUID_Y、STR_GUID_NORMALPRESSURE が含まれます。DesiredPacketDescription にそれ以外の値 (たとえば STR_GUID_BUTTONPRESSURE のみ) を設定した場合でも、STR_GUID_X と STR_GUID_Y が追加されます。DesiredPacketDescription を取得すると、{ButtonPressure} ではなく {X,Y,ButtonPressure} が返されます。
DesiredPacketDescription に STR_GUID_PAKETSTATUS を含む値を設定した場合、パケット ステータスは 3 番目の位置に追加されます。たとえば、DesiredPacketDescription に (a, b, c, d, PacketStatus, e, f) を設定した場合、DesiredPacketDescription を取得した結果は (X, Y, PacketStatus, a, b, c, d, e, f) になります。
このプロパティへの変更は、Enabled プロパティが FALSE から TRUE に変わるまで、入力されるパケット データには影響しません。
InkCollector の目的のパケット記述を取得または設定します。(IInkOverlay.put_DesiredPacketDescription)
| PacketGuids | VARIANT | in | 収集するパケットに含めたいプロパティの GUID 配列を格納した VARIANT である。 |
解説(Remarks)
この記述は、PacketProperty オブジェクトのグローバル一意識別子 (GUID) の配列です。
マルチタブレット モードでは、これはすべてのタブレット デバイスに対するパケット記述です。いずれかのデバイスが特定のパケット記述プロパティをサポートしていない場合、そのプロパティのデータは返されません。
既定では、DesiredPacketDescription には PacketProperty オブジェクトの STR_GUID_X、STR_GUID_Y、STR_GUID_NORMALPRESSURE が含まれます。DesiredPacketDescription にそれ以外の値 (たとえば STR_GUID_BUTTONPRESSURE のみ) を設定した場合でも、STR_GUID_X と STR_GUID_Y が追加されます。DesiredPacketDescription を取得すると、{ButtonPressure} ではなく {X,Y,ButtonPressure} が返されます。
DesiredPacketDescription に STR_GUID_PAKETSTATUS を含む値を設定した場合、パケット ステータスは 3 番目の位置に追加されます。たとえば、DesiredPacketDescription に (a, b, c, d, PacketStatus, e, f) を設定した場合、DesiredPacketDescription を取得した結果は (X, Y, PacketStatus, a, b, c, d, e, f) になります。
このプロパティへの変更は、Enabled プロパティが FALSE から TRUE に変わるまで、入力されるパケット データには影響しません。
カスタムのマウス アイコンを取得または設定します。(IInkOverlay.get_MouseIcon)
| MouseIcon | IPictureDisp** | out | マウス ポインタにカスタム アイコンとして使用される画像を受け取るポインタである。 |
解説(Remarks)
[propputref] 関数は NULL 参照を受け付けることができ、その場合は S_OK が返されます。
このプロパティは、MousePointer プロパティが IMP_Custom に設定されているときに使用されるカスタム アイコンを提供します。
MouseIcon プロパティを使用して、カーソル ファイルまたはアイコン ファイルを読み込むことができます。MouseIcon プロパティにより、アプリケーションは任意のサイズおよび任意のホット スポット位置を持つカスタム カーソルを利用できます。
カスタムのマウス アイコンを取得または設定します。(IInkOverlay.put_MouseIcon)
| MouseIcon | IPictureDisp* | inoptional | マウス ポインタとして使用するカスタム アイコン画像へのポインタである。 |
解説(Remarks)
[propputref] 関数は NULL 参照を受け付けることができ、その場合は S_OK が返されます。
このプロパティは、MousePointer プロパティが IMP_Custom に設定されているときに使用されるカスタム アイコンを提供します。
MouseIcon プロパティを使用して、カーソル ファイルまたはアイコン ファイルを読み込むことができます。MouseIcon プロパティにより、アプリケーションは任意のサイズおよび任意のホット スポット位置を持つカスタム カーソルを利用できます。
| MouseIcon | IPictureDisp* | inoptional | マウス ポインタとして使用するカスタム アイコン画像への参照ポインタである。 |
表示されるマウス ポインターの種類を示す値を取得または設定します。(IInkOverlay.get_MousePointer)
| MousePointer | InkMousePointer* | out | 現在のマウス ポインタの種類を受け取る InkMousePointer へのポインタである。 |
解説(Remarks)
MousePointer プロパティを IMP_Default に設定した場合、マウス カーソルの設定は現在のカーソルの描画属性に基づきます。インク コレクターが無効になっている場合、マウス カーソルの設定は基になるウィンドウのマウス カーソルの DrawingAttributes プロパティに基づきます。MousePointer プロパティが IMP_Custom に設定され、MouseIcon プロパティが NULL の場合、インク コレクターはマウス カーソルの設定を処理しなくなります。それ以外の設定 (MousePointer プロパティが IMP_Default かつ MouseIcon プロパティが NULL の場合を除く) にした場合、マウス カーソルは現在の設定を使用します。
フォームやダイアログ ボックス上のコントロールの上をマウス ポインターが通過する際に、機能の変化を示したい場合にこのプロパティを使用できます。IMP_Hourglass の設定は、処理や操作の完了をユーザーが待つ必要があることを示すのに便利です。
表示されるマウス ポインターの種類を示す値を取得または設定します。(IInkOverlay.put_MousePointer)
| MousePointer | InkMousePointer | in | 設定するマウス ポインタの種類を指定する InkMousePointer 値である。 |
解説(Remarks)
MousePointer プロパティを IMP_Default に設定した場合、マウス カーソルの設定は現在のカーソルの描画属性に基づきます。インク コレクターが無効になっている場合、マウス カーソルの設定は基になるウィンドウのマウス カーソルの DrawingAttributes プロパティに基づきます。MousePointer プロパティが IMP_Custom に設定され、MouseIcon プロパティが NULL の場合、インク コレクターはマウス カーソルの設定を処理しなくなります。それ以外の設定 (MousePointer プロパティが IMP_Default かつ MouseIcon プロパティが NULL の場合を除く) にした場合、マウス カーソルは現在の設定を使用します。
フォームやダイアログ ボックス上のコントロールの上をマウス ポインターが通過する際に、機能の変化を示したい場合にこのプロパティを使用できます。IMP_Hourglass の設定は、処理や操作の完了をユーザーが待つ必要があることを示すのに便利です。
オブジェクトまたはコントロールがインク モード、削除モード、選択/編集モードのいずれであるかを指定する値を取得または設定します。(Get)
| EditingMode | InkOverlayEditingMode* | out | 現在の編集モード(インク描画・削除・選択)を受け取る InkOverlayEditingMode へのポインタである。 |
解説(Remarks)
InkOverlay オブジェクトおよび InkPicture オブジェクトは、インクの収集中に EditingMode プロパティを変更するとエラーを生成します。この競合を避けるため、EditingMode プロパティを変更する前に CollectingInk プロパティが FALSE であることを確認してください。
インクの消去について詳しくは、ペンによるインクの消去 を参照してください。
オブジェクトまたはコントロールがインク モード、削除モード、選択/編集モードのいずれであるかを指定する値を取得または設定します。(Put)
| EditingMode | InkOverlayEditingMode | in | 設定する編集モード(インク描画・削除・選択)を指定する InkOverlayEditingMode 値である。 |
解説(Remarks)
InkOverlay オブジェクトおよび InkPicture オブジェクトは、インクの収集中に EditingMode プロパティを変更するとエラーを生成します。この競合を避けるため、EditingMode プロパティを変更する前に CollectingInk プロパティが FALSE であることを確認してください。
インクの消去について詳しくは、ペンによるインクの消去 を参照してください。
InkOverlay オブジェクトまたは InkPicture コントロール内で現在選択されている InkStrokes コレクションを取得または設定します。(Get)
| Selection | IInkStrokes** | out | 現在選択されているストロークのコレクションを受け取るポインタである。 |
解説(Remarks)
InkStrokes コレクションが移動またはサイズ変更された後の外接矩形を取得するには、このプロパティが返す InkStrokes コレクションの GetBoundingBox メソッドを呼び出します。
InkStrokes コレクションが移動される前の外接矩形を取得するには、InkOverlay または InkPicture のイベントを処理します。
InkStrokes コレクションがサイズ変更される前の外接矩形を取得するには、InkOverlay または InkPicture のイベントを処理します。
InkOverlay オブジェクトまたは InkPicture コントロール内で現在選択されている InkStrokes コレクションを取得または設定します。(Put)
| Selection | IInkStrokes* | inoptional | 選択状態にするストローク コレクションへのポインタである。 |
解説(Remarks)
InkStrokes コレクションが移動またはサイズ変更された後の外接矩形を取得するには、このプロパティが返す InkStrokes コレクションの GetBoundingBox メソッドを呼び出します。
InkStrokes コレクションが移動される前の外接矩形を取得するには、InkOverlay または InkPicture のイベントを処理します。
InkStrokes コレクションがサイズ変更される前の外接矩形を取得するには、InkOverlay または InkPicture のイベントを処理します。
インクをストローク単位で消去するか、ポイント単位で消去するかを指定する値を取得または設定します。(Get)
| EraserMode | InkOverlayEraserMode* | out | 現在の消しゴム モード(ストローク単位・ポイント単位)を受け取る InkOverlayEraserMode へのポインタである。 |
解説(Remarks)
このプロパティは、EditingMode プロパティが IOEM_Delete に設定されている場合にのみ適用されます。
インクをストローク単位で消去するか、ポイント単位で消去するかを指定する値を取得または設定します。(Put)
| EraserMode | InkOverlayEraserMode | in | 設定する消しゴム モード(ストローク単位・ポイント単位)を指定する InkOverlayEraserMode 値である。 |
解説(Remarks)
このプロパティは、EditingMode プロパティが IOEM_Delete に設定されている場合にのみ適用されます。
消しゴムのペン先の幅を指定する値を取得または設定します。(Get)
| EraserWidth | INT* | out | 現在の消しゴムの幅(インク空間単位)を受け取るポインタである。 |
解説(Remarks)
この値は、消しゴムのペン先の幅をインク空間単位で指定します。
このプロパティに負の値を割り当てることはできません。
このプロパティは、EditingMode プロパティが IOEM_Delete に設定され、かつ EraserMode プロパティが IOERM_PointErase に設定されている場合にのみ適用されます。
消しゴムのペン先の幅を指定する値を取得または設定します。(Put)
| newEraserWidth | INT | in | 設定する消しゴムの幅(インク空間単位)を指定する。 |
解説(Remarks)
この値は、消しゴムのペン先の幅をインク空間単位で指定します。
このプロパティに負の値を割り当てることはできません。
このプロパティは、EditingMode プロパティが IOEM_Delete に設定され、かつ EraserMode プロパティが IOERM_PointErase に設定されている場合にのみ適用されます。
InkOverlay オブジェクトが対象のウィンドウの背面と前面のどちらにアタッチされるかを指定する値を取得または設定します。(Get)
| AttachMode | InkOverlayAttachMode* | out | インク レイヤをウィンドウの前面と背面のどちらに配置するかを受け取る InkOverlayAttachMode へのポインタである。 |
解説(Remarks)
InkOverlay オブジェクトが対象のウィンドウの背面と前面のどちらにアタッチされるかを指定する値を取得または設定します。(Put)
| AttachMode | InkOverlayAttachMode | in | インク レイヤをウィンドウの前面と背面のどちらに配置するかを指定する InkOverlayAttachMode 値である。 |
解説(Remarks)
インク領域で使用できるカーソルのコレクションを取得します。各カーソルは、ペンまたはその他のインク入力デバイスの先端に対応します。(IInkOverlay.get_Cursors)
| Cursors | IInkCursors** | out | このオーバーレイで使用可能なカーソルのコレクションを受け取るポインタである。 |
解説(Remarks)
カーソルは InkCollector オブジェクトごとに固有です。
InkCollector が新たに検出したカーソルは、返されるカーソルのコレクションに追加されます。ただし、返されるカーソルは、必ずしも InkCollector が検出した順序で返されるとは限りません。
InkCollector でマウスが入力デバイスとして有効になっている場合 (SetAllTabletsMode メソッドの useMouse パラメーターが TRUE の場合)、マウスは、InkCollector がペンなどの他のカーソルを検出した後に IInkCursors コレクションへ追加されます。これは、ペンもマウスのように動作するためです。
- タブレット モードが変更された場合 (たとえば SetSingleTabletIntegratedMode から SetAllTabletsMode へ)。
- SetSingleTabletIntegratedMode メソッドが呼び出された場合。
ウィンドウ矩形の周囲の x 軸方向のマージンを画面座標で取得または設定します。このマージンは、インク ウィンドウの端の周囲にバッファーを提供します。(IInkOverlay.get_MarginX)
| MarginX | INT* | out | 入力領域の水平方向のマージン(ピクセル)を受け取るポインタである。 |
解説(Remarks)
このプロパティは、統合型でないタブレット デバイスで最もよく使用されます。バッファーによって、画面と 1 対 1 で対応しない可能性のあるデバイスに書き込む際の誤差の余裕がユーザーに与えられます。
マージンは画面座標で指定します。正のマージンはコンテキストの外側に広がり、負のマージンはコンテキストの内側に広がります。値が 0 の場合はマージンなしになります。ストロークがマージン内で開始された場合、インクは収集されます。この動作によってインクがクリップされることはありません。オブジェクトまたはコントロールのコンテキストは、GetWindowInputRectangle メソッドから得られるウィンドウ入力矩形か、ウィンドウのクライアント矩形のいずれかです。
マージンはアプリケーションのウィンドウ内でのみ有効です。ペンがアプリケーションのウィンドウ外で使用された場合、アプリケーションはフォーカスを失い、インクを収集できません。
ウィンドウ矩形の周囲の x 軸方向のマージンを画面座標で取得または設定します。このマージンは、インク ウィンドウの端の周囲にバッファーを提供します。(IInkOverlay.put_MarginX)
| MarginX | INT | in | 入力領域の水平方向のマージン(ピクセル)を指定する。 |
解説(Remarks)
このプロパティは、統合型でないタブレット デバイスで最もよく使用されます。バッファーによって、画面と 1 対 1 で対応しない可能性のあるデバイスに書き込む際の誤差の余裕がユーザーに与えられます。
マージンは画面座標で指定します。正のマージンはコンテキストの外側に広がり、負のマージンはコンテキストの内側に広がります。値が 0 の場合はマージンなしになります。ストロークがマージン内で開始された場合、インクは収集されます。この動作によってインクがクリップされることはありません。オブジェクトまたはコントロールのコンテキストは、GetWindowInputRectangle メソッドから得られるウィンドウ入力矩形か、ウィンドウのクライアント矩形のいずれかです。
マージンはアプリケーションのウィンドウ内でのみ有効です。ペンがアプリケーションのウィンドウ外で使用された場合、アプリケーションはフォーカスを失い、インクを収集できません。
ウィンドウ矩形の周囲の y 軸方向のマージンを画面座標で取得または設定します。このマージンは、インク ウィンドウの端の周囲にバッファーを提供します。(IInkOverlay.get_MarginY)
| MarginY | INT* | out | 入力領域の垂直方向のマージン(ピクセル)を受け取るポインタである。 |
解説(Remarks)
このプロパティは、統合型でないタブレット デバイスで最もよく使用されます。バッファーによって、画面と 1 対 1 で対応しない可能性のあるデバイスに書き込む際の誤差の余裕がユーザーに与えられます。
マージンは画面座標で指定します。正のマージンはコンテキストの外側に広がり、負のマージンはコンテキストの内側に広がります。値が 0 の場合はマージンなしになります。ストロークがマージン内で開始された場合、インクは収集されます。この動作によってインクがクリップされることはありません。オブジェクトまたはコントロールのコンテキストは、GetWindowInputRectangle メソッドから得られるウィンドウ入力矩形か、ウィンドウのクライアント矩形のいずれかです。
マージンはアプリケーションのウィンドウ内でのみ有効です。ペンがアプリケーションのウィンドウ外で使用された場合、アプリケーションはフォーカスを失い、インクを収集できません。
ウィンドウ矩形の周囲の y 軸方向のマージンを画面座標で取得または設定します。このマージンは、インク ウィンドウの端の周囲にバッファーを提供します。(IInkOverlay.put_MarginY)
| MarginY | INT | in | 入力領域の垂直方向のマージン(ピクセル)を指定する。 |
解説(Remarks)
このプロパティは、統合型でないタブレット デバイスで最もよく使用されます。バッファーによって、画面と 1 対 1 で対応しない可能性のあるデバイスに書き込む際の誤差の余裕がユーザーに与えられます。
マージンは画面座標で指定します。正のマージンはコンテキストの外側に広がり、負のマージンはコンテキストの内側に広がります。値が 0 の場合はマージンなしになります。ストロークがマージン内で開始された場合、インクは収集されます。この動作によってインクがクリップされることはありません。オブジェクトまたはコントロールのコンテキストは、GetWindowInputRectangle メソッドから得られるウィンドウ入力矩形か、ウィンドウのクライアント矩形のいずれかです。
マージンはアプリケーションのウィンドウ内でのみ有効です。ペンがアプリケーションのウィンドウ外で使用された場合、アプリケーションはフォーカスを失い、インクを収集できません。
カーソルが属する IInkTablet オブジェクト、またはオブジェクトやコントロールが現在入力の収集に使用している IInkTablet オブジェクトを取得します。(IInkOverlay.get_Tablet)
| SingleTablet | IInkTablet** | out | 単一タブレット統合モードで使用されているタブレット オブジェクトを受け取るポインタである。 |
解説(Remarks)
インクを収集するオブジェクトまたはコントロールの場合、このプロパティは、そのオブジェクトまたはコントロールが 1 台のタブレットからのみインクを収集しているときにのみ有効です。すべてのタブレットからインクを収集しているオブジェクトまたはコントロールでこのプロパティにアクセスすると、例外が発生します。
特定のメッセージ ハンドラー内でこのプロパティにアクセスすると、内部の関数が再入され、予期しない結果を招くことがあります。次のメッセージを処理する際は、再入呼び出しが発生しないように注意してください。WM_ACTIVATE、WM_ACTIVATEAPP、WM_NCACTIVATE、WM_PAINT、wParam に SC_HOTKEY または SC_TASKLIST が設定されている場合の WM_SYSCOMMAND、および WM_SYSKEYDOWN (Alt-Tab または Alt-Esc のキーの組み合わせを処理する場合)。これはシングルスレッド アパートメント モデルのアプリケーションで発生する問題です。
システムがハイ コントラスト モードのときに、インクを単一の色でレンダリングするかどうかを指定する値を取得または設定します。(IInkOverlay.get_SupportHighContrastInk)
| Support | VARIANT_BOOL* | out | ハイ コントラスト モード時にインクを単色で表示する設定が有効かどうかを受け取る VARIANT_BOOL へのポインタである。 |
解説(Remarks)
このプロパティは、システムがハイ コントラスト モードに切り替わったときのインクの描画方法を変更します。
システムがハイ コントラスト モードで、かつ SupportHighContrastInk プロパティが TRUE の場合、リアルタイムのインク処理では COLOR_WINDOWTEXT の色が使用されますが、この状態で描かれたストローク自体の色は変わりません。たとえば、Color プロパティが RGB(0,0,255) (青) に設定され、COLOR_WINDOWTEXT の色が RGB(255,255,255) (白) に設定されていて、システムがハイ コントラスト モードである場合、新しく描画されたストロークは白で表示されますが、実際のストロークの色は青のままです。この動作について詳しくは、Color プロパティおよび GetSysColor 関数を参照してください。
システムがハイ コントラスト モードのときに、インクを単一の色でレンダリングするかどうかを指定する値を取得または設定します。(IInkOverlay.put_SupportHighContrastInk)
| Support | VARIANT_BOOL | in | ハイ コントラスト モード時にインクを単色で表示するかどうかを指定する VARIANT_BOOL である。 |
解説(Remarks)
このプロパティは、システムがハイ コントラスト モードに切り替わったときのインクの描画方法を変更します。
システムがハイ コントラスト モードで、かつ SupportHighContrastInk プロパティが TRUE の場合、リアルタイムのインク処理では COLOR_WINDOWTEXT の色が使用されますが、この状態で描かれたストローク自体の色は変わりません。たとえば、Color プロパティが RGB(0,0,255) (青) に設定され、COLOR_WINDOWTEXT の色が RGB(255,255,255) (白) に設定されていて、システムがハイ コントラスト モードである場合、新しく描画されたストロークは白で表示されますが、実際のストロークの色は青のままです。この動作について詳しくは、Color プロパティおよび GetSysColor 関数を参照してください。
システムがハイ コントラスト モードのときに、すべての選択ユーザー インターフェイス (UI) 要素をハイ コントラストで描画するかどうかを指定する値を取得または設定します。(Get)
| Support | VARIANT_BOOL* | out | ハイ コントラスト モード時に選択 UI を高コントラスト表示する設定が有効かどうかを受け取る VARIANT_BOOL へのポインタである。 |
解説(Remarks)
このプロパティは、システムがハイ コントラスト モードに切り替わったときの選択 UI の表示方法を変更します。選択 UI の要素には、選択範囲の外接ボックスと選択ハンドルが含まれます。
システムがハイ コントラスト モードで、かつ SupportHighContrastSelectionUI プロパティが TRUE の場合、インクの選択では COLOR_WINDOWTEXT、COLOR_WINDOW、COLOR_HIGHLIGHT のシステム カラーを使用して選択 UI の要素が描画されます。システム カラーについて詳しくは、GetSysColor 関数を参照してください。
システムがハイ コントラスト モードのときに、すべての選択ユーザー インターフェイス (UI) 要素をハイ コントラストで描画するかどうかを指定する値を取得または設定します。(Put)
| Support | VARIANT_BOOL | in | ハイ コントラスト モード時に選択 UI を高コントラスト表示するかどうかを指定する VARIANT_BOOL である。 |
解説(Remarks)
このプロパティは、システムがハイ コントラスト モードに切り替わったときの選択 UI の表示方法を変更します。選択 UI の要素には、選択範囲の外接ボックスと選択ハンドルが含まれます。
システムがハイ コントラスト モードで、かつ SupportHighContrastSelectionUI プロパティが TRUE の場合、インクの選択では COLOR_WINDOWTEXT、COLOR_WINDOW、COLOR_HIGHLIGHT のシステム カラーを使用して選択 UI の要素が描画されます。システム カラーについて詳しくは、GetSysColor 関数を参照してください。
ヒット テストで選択範囲のどの部分がヒットしたかを判定します。
| x | INT | in | ヒット テストの x 座標 (ピクセル単位)。 |
| y | INT | in | ヒット テストの y 座標 (ピクセル単位)。 |
| SelArea | SelectionHitResult* | out | SelectionHitResult 列挙型の値。ヒット テストで選択範囲のどの部分がヒットしたか (ヒットした場合) を示します。 |
戻り値
| 戻り値 | 説明 |
|---|---|
|
東側のサイズ変更ハンドルがヒットしました。 |
|
選択範囲のどの部分もヒットしませんでした。 |
|
北側のサイズ変更ハンドルがヒットしました。 |
|
北東の角のサイズ変更ハンドルがヒットしました。 |
|
北西の角のサイズ変更ハンドルがヒットしました。 |
|
選択範囲自体がヒットしました (選択ハンドルはヒットしていません)。 |
|
南側のサイズ変更ハンドルがヒットしました。 |
|
南東の角のサイズ変更ハンドルがヒットしました。 |
|
南西の角のサイズ変更ハンドルがヒットしました。 |
|
西側のサイズ変更ハンドルがヒットしました。 |
InkOverlay オブジェクト内のインクを再描画する矩形を設定します。
| Rect | IInkRectangle* | inoptional | 描画対象の矩形 (ピクセル座標)。このパラメーターが NULL の場合、ウィンドウ全体が再描画されます。 |
戻り値
このメソッドは、次のいずれかの値を返すことがあります。
解説(Remarks)
AutoRedraw プロパティが TRUE の場合、rDrawRect で表される矩形内の InkDisp は、その領域が次に再描画されるときに描画されます。
特定のジェスチャに対するオブジェクトまたはコントロールの関心を設定します。
| Gesture | InkApplicationGesture | in | 状態を設定するジェスチャ。 |
| Listen | VARIANT_BOOL | in | ジェスチャを使用する場合は VARIANT_TRUE、無視する場合は VARIANT_FALSE。 |
戻り値
このメソッドは、次のいずれかの値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| パラメーターに無効なポインターが含まれていました。 | |
|
InkCollector の収集モードがジェスチャ モードである必要があります。 |
|
例外が発生しました。 |
| サポートされていないジェスチャです。 | |
| フラグが無効です。 | |
| 操作に必要なメモリを割り当てられません。 |
解説(Remarks)
特定のジェスチャに対するオブジェクトまたはコントロールの関心を取得するには、GetGestureStatus メソッドを呼び出します。
IAG_AllGestures ジェスチャ ID は InkEdit コントロールではサポートされておらず、エラーが返されます。無効なジェスチャ ID を渡した場合、InkEdit ではエラーは返されませんが、InkCollector、InkOverlay、InkPicture では失敗します。
InkEdit コントロールの場合、このメソッドは Status プロパティが IES_Idle を返す場合にのみ呼び出してください。
InkCollector オブジェクトまたは InkOverlay オブジェクトが特定のアプリケーション ジェスチャに関心を持っているかどうかを判定する値を取得します。
| Gesture | InkApplicationGesture | in | 状態を取得するジェスチャ。 |
| Listening | VARIANT_BOOL* | out | InkCollector コントロールが特定のアプリケーション ジェスチャに関心を持っている場合は VARIANT_TRUE、それ以外の場合は VARIANT_FALSE。 このメソッドは、特定のアプリケーション ジェスチャに対する InkCollector オブジェクトまたは InkOverlay オブジェクトの関心を示す値を返します。VARIANT_TRUE の場合、InkCollector または InkOverlay オブジェクトはそのジェスチャに関心があり、ジェスチャが認識されると InkCollector または InkOverlay オブジェクトの Gesture イベントが発生します。 |
戻り値
このメソッドは、次のいずれかの値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| パラメーターに無効なポインターが含まれていました。 | |
|
収集モードがジェスチャ モードである必要があります。 |
| 処理を実行するためのメモリを割り当てられません。 | |
|
例外が発生しました。 |
| フラグが無効です。 |
解説(Remarks)
gesture パラメーターに IAG_AllGestures が設定されている場合、このメソッドは例外をスローします。
特定のジェスチャに対する InkCollector オブジェクトまたは InkOverlay オブジェクトの関心を設定するには、InkCollector または InkOverlay オブジェクトの SetGestureStatus メソッドを呼び出します。
インクが描画されるウィンドウ矩形をピクセル単位で取得します。(IInkOverlay.GetWindowInputRectangle)
| WindowInputRectangle | IInkRectangle** | inout | インクが描画される InkRectangle 型の矩形。 |
戻り値
このメソッドは、次のいずれかの値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| パラメーターに無効なポインターが含まれています。 | |
|
InkRectangle オブジェクトが登録されていません。 |
|
メソッド内で例外が発生します。 |
解説(Remarks)
このメソッドに渡す前に、まず矩形を割り当てておく必要があります。
既定では、ウィンドウ入力矩形は {0,0,0,0} に設定されています。この既定の矩形はウィンドウ全体のサイズに対応します。
SetWindowInputRectangle メソッドを呼び出す前に GetWindowInputRectangle を呼び出した場合、このメソッドは既定の座標を持つ矩形を取得します。
インクが描画されるウィンドウ矩形をピクセル単位で設定します。(IInkOverlay.SetWindowInputRectangle)
| WindowInputRectangle | IInkRectangle* | inoptional | インクが描画される矩形 (ウィンドウ座標)。 |
戻り値
このメソッドは、次のいずれかの値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| パラメーターに無効なポインターが含まれていました。 | |
| 矩形の座標が無効です (幅または高さが 0 の場合など)。 | |
|
ストロークの途中ではマッピングを更新できません。 |
|
メソッド内で例外が発生しました。 |
|
ウィンドウ入力矩形が、有効な InkCollector のウィンドウ入力矩形と重なっています。 |
解説(Remarks)
有効なインク コレクター (Enabled プロパティで設定) のウィンドウ入力矩形が、別の有効なインク コレクターのウィンドウ入力矩形と重なっている場合、E_INK_OVERLAPPING_INPUT_RECT エラーが返されます。
ウィンドウ入力矩形を既定の動作 (座標 {0,0,0,0} の空の矩形) に戻すには、SetWindowInputRectangle の呼び出しで NULL ではなく {0,0,0,0} を渡します。
Right プロパティの値が Left プロパティの値より小さい矩形、または Bottom プロパティの値が Top プロパティの値より小さい矩形は渡せません。たとえば、パラメーターが {500, 500, 400, 400} の矩形は無効です。
インク コレクター (InkCollector、InkOverlay、または InkPicture) が、Tablet PC に接続されている任意のタブレットからインクを収集できるようにします。(IInkOverlay.SetAllTabletsMode)
| UseMouseForInput | VARIANT_BOOL | in | 省略可能。マウスを入力デバイスとして使用する場合は VARIANT_TRUE、それ以外の場合は VARIANT_FALSE。既定値は VARIANT_TRUE です。 |
戻り値
このメソッドは、次のいずれかの値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
|
InkCollector が有効な間はモードを変更できません。 |
|
メソッド内で例外が発生しました。 |
| フラグが無効です。 |
解説(Remarks)
これは、インクを収集するオブジェクトまたはコントロールの既定のモードです。インク コレクターが 1 台のタブレットからのみインクを収集するようにするには、SetSingleTabletIntegratedMode メソッドを呼び出します。
インク コレクター (InkCollector、InkOverlay、または InkPicture) が 1 台のタブレットからのみインクを収集できるようにします。他のタブレットからのインクは、インク コレクターによって無視されます。(IInkOverlay.SetSingleTabletIntegratedMode)
| Tablet | IInkTablet* | inoptional | インクを収集または描画するタブレット。 |
戻り値
このメソッドは、次のいずれかの値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| パラメーターに無効なポインターが含まれていました。 | |
|
コレクターが有効な間はモードを変更できません。 |
|
処理中に例外が発生しました。 |
|
tablet が互換性のある Ink オブジェクトを指していません。 |
解説(Remarks)
インク コレクターがすべてのタブレットからインクを収集できるようにするには、SetAllTabletsMode メソッドを呼び出します。
InkCollector クラス、InkOverlay クラス、または InkPicture クラスにおいて、オブジェクトが特定のイベントに対して持つ関心を取得します。(IInkOverlay.GetEventInterest)
| EventId | InkCollectorEventInterest | in | インク コレクターが関心を持つ、または持たないイベント。 |
| Listen | VARIANT_BOOL* | out | 指定したイベントへの関心が設定されている場合は VARIANT_TRUE、それ以外の場合は VARIANT_FALSE。 |
戻り値
このメソッドは、次のいずれかの値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| パラメーターに無効なポインターが含まれていました。 | |
| イベントへの関心が無効です。 | |
|
処理中に例外が発生しました。 |
オブジェクトまたはコントロールが指定したイベントに関心を持つかどうかを示す値を設定します。
| EventId | InkCollectorEventInterest | in | リッスンするイベント。EventID に指定できる値は、InkCollectorEventInterest 列挙型に定義されています。 |
| Listen | VARIANT_BOOL | in | イベントを使用する場合は VARIANT_TRUE、無視する場合は VARIANT_FALSE。 |
戻り値
このメソッドは、次のいずれかの値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| パラメーターに無効なポインターが含まれていました。 | |
| イベントへの関心が無効です。 | |
|
処理中に例外が発生しました。 |
解説(Remarks)
このメソッドを使用すると、インク コレクターのすべてのイベントを切り替えられます。これらのイベントの多くは、パフォーマンス上の理由から既定でオフになっています。既定でオンになっているのは、Stroke、CursorInRange、CursorOutOfRange の各イベントのみです。
NewPackets、NewInAirPackets、CursorDown の各イベントは慎重に使用してください。特に、イベント ハンドラーで多くのコードを実行すると、インクのパフォーマンスに悪影響を及ぼす可能性があります。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IInkOverlay "{B82A463B-C1C5-45A3-997C-DEAB5651B67A}" #usecom global IInkOverlay IID_IInkOverlay "{65D00646-CDE3-4A88-9163-6769F0F1A97D}" #comfunc global IInkOverlay_get_hWnd 7 var #comfunc global IInkOverlay_put_hWnd 8 sptr #comfunc global IInkOverlay_get_Enabled 9 var #comfunc global IInkOverlay_put_Enabled 10 int #comfunc global IInkOverlay_get_DefaultDrawingAttributes 11 sptr #comfunc global IInkOverlay_putref_DefaultDrawingAttributes 12 sptr #comfunc global IInkOverlay_get_Renderer 13 sptr #comfunc global IInkOverlay_putref_Renderer 14 sptr #comfunc global IInkOverlay_get_Ink 15 sptr #comfunc global IInkOverlay_putref_Ink 16 sptr #comfunc global IInkOverlay_get_AutoRedraw 17 var #comfunc global IInkOverlay_put_AutoRedraw 18 int #comfunc global IInkOverlay_get_CollectingInk 19 var #comfunc global IInkOverlay_get_CollectionMode 20 var #comfunc global IInkOverlay_put_CollectionMode 21 int #comfunc global IInkOverlay_get_DynamicRendering 22 var #comfunc global IInkOverlay_put_DynamicRendering 23 int #comfunc global IInkOverlay_get_DesiredPacketDescription 24 var #comfunc global IInkOverlay_put_DesiredPacketDescription 25 int #comfunc global IInkOverlay_get_MouseIcon 26 sptr #comfunc global IInkOverlay_put_MouseIcon 27 sptr #comfunc global IInkOverlay_putref_MouseIcon 28 sptr #comfunc global IInkOverlay_get_MousePointer 29 var #comfunc global IInkOverlay_put_MousePointer 30 int #comfunc global IInkOverlay_get_EditingMode 31 var #comfunc global IInkOverlay_put_EditingMode 32 int #comfunc global IInkOverlay_get_Selection 33 sptr #comfunc global IInkOverlay_put_Selection 34 sptr #comfunc global IInkOverlay_get_EraserMode 35 var #comfunc global IInkOverlay_put_EraserMode 36 int #comfunc global IInkOverlay_get_EraserWidth 37 var #comfunc global IInkOverlay_put_EraserWidth 38 int #comfunc global IInkOverlay_get_AttachMode 39 var #comfunc global IInkOverlay_put_AttachMode 40 int #comfunc global IInkOverlay_get_Cursors 41 sptr #comfunc global IInkOverlay_get_MarginX 42 var #comfunc global IInkOverlay_put_MarginX 43 int #comfunc global IInkOverlay_get_MarginY 44 var #comfunc global IInkOverlay_put_MarginY 45 int #comfunc global IInkOverlay_get_Tablet 46 sptr #comfunc global IInkOverlay_get_SupportHighContrastInk 47 var #comfunc global IInkOverlay_put_SupportHighContrastInk 48 int #comfunc global IInkOverlay_get_SupportHighContrastSelectionUI 49 var #comfunc global IInkOverlay_put_SupportHighContrastSelectionUI 50 int #comfunc global IInkOverlay_HitTestSelection 51 int,int,var #comfunc global IInkOverlay_Draw 52 sptr #comfunc global IInkOverlay_SetGestureStatus 53 int,int #comfunc global IInkOverlay_GetGestureStatus 54 int,var #comfunc global IInkOverlay_GetWindowInputRectangle 55 sptr #comfunc global IInkOverlay_SetWindowInputRectangle 56 sptr #comfunc global IInkOverlay_SetAllTabletsMode 57 int #comfunc global IInkOverlay_SetSingleTabletIntegratedMode 58 sptr #comfunc global IInkOverlay_GetEventInterest 59 int,var #comfunc global IInkOverlay_SetEventInterest 60 int,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IInkOverlay "{B82A463B-C1C5-45A3-997C-DEAB5651B67A}" #usecom global IInkOverlay IID_IInkOverlay "{65D00646-CDE3-4A88-9163-6769F0F1A97D}" #comfunc global IInkOverlay_get_hWnd 7 sptr #comfunc global IInkOverlay_put_hWnd 8 sptr #comfunc global IInkOverlay_get_Enabled 9 sptr #comfunc global IInkOverlay_put_Enabled 10 int #comfunc global IInkOverlay_get_DefaultDrawingAttributes 11 sptr #comfunc global IInkOverlay_putref_DefaultDrawingAttributes 12 sptr #comfunc global IInkOverlay_get_Renderer 13 sptr #comfunc global IInkOverlay_putref_Renderer 14 sptr #comfunc global IInkOverlay_get_Ink 15 sptr #comfunc global IInkOverlay_putref_Ink 16 sptr #comfunc global IInkOverlay_get_AutoRedraw 17 sptr #comfunc global IInkOverlay_put_AutoRedraw 18 int #comfunc global IInkOverlay_get_CollectingInk 19 sptr #comfunc global IInkOverlay_get_CollectionMode 20 sptr #comfunc global IInkOverlay_put_CollectionMode 21 int #comfunc global IInkOverlay_get_DynamicRendering 22 sptr #comfunc global IInkOverlay_put_DynamicRendering 23 int #comfunc global IInkOverlay_get_DesiredPacketDescription 24 sptr #comfunc global IInkOverlay_put_DesiredPacketDescription 25 int #comfunc global IInkOverlay_get_MouseIcon 26 sptr #comfunc global IInkOverlay_put_MouseIcon 27 sptr #comfunc global IInkOverlay_putref_MouseIcon 28 sptr #comfunc global IInkOverlay_get_MousePointer 29 sptr #comfunc global IInkOverlay_put_MousePointer 30 int #comfunc global IInkOverlay_get_EditingMode 31 sptr #comfunc global IInkOverlay_put_EditingMode 32 int #comfunc global IInkOverlay_get_Selection 33 sptr #comfunc global IInkOverlay_put_Selection 34 sptr #comfunc global IInkOverlay_get_EraserMode 35 sptr #comfunc global IInkOverlay_put_EraserMode 36 int #comfunc global IInkOverlay_get_EraserWidth 37 sptr #comfunc global IInkOverlay_put_EraserWidth 38 int #comfunc global IInkOverlay_get_AttachMode 39 sptr #comfunc global IInkOverlay_put_AttachMode 40 int #comfunc global IInkOverlay_get_Cursors 41 sptr #comfunc global IInkOverlay_get_MarginX 42 sptr #comfunc global IInkOverlay_put_MarginX 43 int #comfunc global IInkOverlay_get_MarginY 44 sptr #comfunc global IInkOverlay_put_MarginY 45 int #comfunc global IInkOverlay_get_Tablet 46 sptr #comfunc global IInkOverlay_get_SupportHighContrastInk 47 sptr #comfunc global IInkOverlay_put_SupportHighContrastInk 48 int #comfunc global IInkOverlay_get_SupportHighContrastSelectionUI 49 sptr #comfunc global IInkOverlay_put_SupportHighContrastSelectionUI 50 int #comfunc global IInkOverlay_HitTestSelection 51 int,int,sptr #comfunc global IInkOverlay_Draw 52 sptr #comfunc global IInkOverlay_SetGestureStatus 53 int,int #comfunc global IInkOverlay_GetGestureStatus 54 int,sptr #comfunc global IInkOverlay_GetWindowInputRectangle 55 sptr #comfunc global IInkOverlay_SetWindowInputRectangle 56 sptr #comfunc global IInkOverlay_SetAllTabletsMode 57 int #comfunc global IInkOverlay_SetSingleTabletIntegratedMode 58 sptr #comfunc global IInkOverlay_GetEventInterest 59 int,sptr #comfunc global IInkOverlay_SetEventInterest 60 int,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。