IInkPicture
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
. (IInkPicture)
メソッド 59
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
インクが描画されるウィンドウのハンドル値を取得または設定します。 (IInkPicture.get_hWnd)
| CurrentWindow | INT_PTR* | out | インク ピクチャ コントロールのウィンドウ ハンドルを受け取るポインタである。 |
解説(Remarks)
ウィンドウが 2 つ以上存在する場合、このプロパティによってどのウィンドウがインクを収集するかを指定できます。
インクの描画および表示時に使用する既定の描画属性を取得または設定します。 (IInkPicture.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 プロパティを使用します。
単一のストロークの描画属性を変更するには、IInkStrokeDisp オブジェクトの DrawingAttributes プロパティを使用します。ストロークのコレクションの描画属性を変更するには、InkStrokes コレクションの ModifyDrawingAttributes メソッドを呼び出します。
| NewAttributes | IInkDrawingAttributes* | inoptional | 新しいストロークに適用する既定の描画属性へのポインタである。 |
インクの描画に使用される InkRenderer オブジェクトを取得または設定します。 (IInkPicture.get_Renderer)
| CurrentInkRenderer | IInkRenderer** | out | 現在使用されているインク レンダラを受け取るポインタである。 |
解説(Remarks)
特定のウィンドウメッセージを処理しているときに、InkPicture に関連付けられた 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 | 使用するインク レンダラへのポインタである。 |
InkPicture コントロールに関連付けられている InkDisp オブジェクトを取得または設定します。
| Ink | IInkDisp** | out | このコントロールに関連付けられたインク オブジェクトを受け取るポインタである。 |
解説(Remarks)
| NewInk | IInkDisp* | inoptional | このコントロールに関連付けるインク オブジェクトへのポインタである。 |
ウィンドウが無効化されたときにインクコレクターがインクを再描画するかどうかを指定する値を取得または設定します。 (IInkPicture.get_AutoRedraw)
| AutoRedraw | VARIANT_BOOL* | out | ウィンドウの再描画時にインクを自動再描画するかどうかを受け取る VARIANT_BOOL へのポインタである。 |
解説(Remarks)
AutoRedraw が VARIANT_TRUE の場合、ウィンドウが無効化されたときにインクコレクターがインクを再描画します。たとえば、ウィンドウを最小化してから元に戻すと、インクは自動的に再描画されます。VARIANT_FALSE の場合、ウィンドウが無効化されてもインクコレクターはインクを再描画しません。たとえば、ウィンドウを最小化してから元に戻すと、インクは画面から消えます。
AutoRedraw が VARIANT_FALSE の場合でも、DynamicRendering プロパティが false でない限り、インク入力中はインクが表示されます。
アプリケーションでカスタムレンダリングを行う場合や、描画処理の影響を受けやすい場合は、再描画を自分で処理し、InkCollector オブジェクト、InkOverlay オブジェクト、または InkPicture コントロールの AutoRedraw プロパティを VARIANT_FALSE に設定できます。再描画の処理には次の表のイベントを使用します。
| オブジェクトまたはコントロール | イベント |
|---|---|
| InkCollector オブジェクト | 基になるコントロールの Invalidated イベントおよび Paint イベント。 |
| InkOverlay オブジェクト | 基になるコントロールの Invalidated イベントおよび Paint イベント。 |
| InkPicture コントロール | InkPicture コントロールが継承する Invalidated イベントおよび Paint イベント。 |
ウィンドウが無効化されたときにインクコレクターがインクを再描画するかどうかを指定する値を取得または設定します。 (IInkPicture.put_AutoRedraw)
| AutoRedraw | VARIANT_BOOL | in | ウィンドウの再描画時にインクを自動再描画するかどうかを指定する VARIANT_BOOL である。 |
解説(Remarks)
AutoRedraw が VARIANT_TRUE の場合、ウィンドウが無効化されたときにインクコレクターがインクを再描画します。たとえば、ウィンドウを最小化してから元に戻すと、インクは自動的に再描画されます。VARIANT_FALSE の場合、ウィンドウが無効化されてもインクコレクターはインクを再描画しません。たとえば、ウィンドウを最小化してから元に戻すと、インクは画面から消えます。
AutoRedraw が VARIANT_FALSE の場合でも、DynamicRendering プロパティが false でない限り、インク入力中はインクが表示されます。
アプリケーションでカスタムレンダリングを行う場合や、描画処理の影響を受けやすい場合は、再描画を自分で処理し、InkCollector オブジェクト、InkOverlay オブジェクト、または InkPicture コントロールの AutoRedraw プロパティを VARIANT_FALSE に設定できます。再描画の処理には次の表のイベントを使用します。
| オブジェクトまたはコントロール | イベント |
|---|---|
| InkCollector オブジェクト | 基になるコントロールの Invalidated イベントおよび Paint イベント。 |
| InkOverlay オブジェクト | 基になるコントロールの Invalidated イベントおよび Paint イベント。 |
| InkPicture コントロール | InkPicture コントロールが継承する Invalidated イベントおよび Paint イベント。 |
インクコレクター (InkCollector、InkOverlay、または InkPicture) に現在インクが描画されているかどうかを指定する値を取得します。 (IInkPicture.get_CollectingInk)
| Collecting | VARIANT_BOOL* | out | 現在インクを収集中(ストローク描画中)かどうかを受け取る VARIANT_BOOL へのポインタである。 |
解説(Remarks)
Stroke イベントを監視する代わりに、CollectingInk プロパティを使用して、インクコレクターにインクが描画されているかどうかを確認できます。
ユーザーが書き込む際にインク、ジェスチャ、またはその両方を認識するかどうかを決定する収集モードを取得または設定します。 (Get)
| Mode | InkCollectionMode* | out | 現在の収集モード(インク・ジェスチャ・両方)を受け取る InkCollectionMode へのポインタである。 |
解説(Remarks)
使用できるモードの一覧については、InkCollectionMode 列挙型を参照してください。
このプロパティの詳細については、同じ機能を持つ InkCollector オブジェクトの CollectionMode プロパティを参照してください。
ユーザーが書き込む際にインク、ジェスチャ、またはその両方を認識するかどうかを決定する収集モードを取得または設定します。 (Put)
| Mode | InkCollectionMode | in | 設定する収集モード(インク・ジェスチャ・両方)を指定する InkCollectionMode 値である。 |
解説(Remarks)
使用できるモードの一覧については、InkCollectionMode 列挙型を参照してください。
このプロパティの詳細については、同じ機能を持つ InkCollector オブジェクトの CollectionMode プロパティを参照してください。
インクが描画されると同時にレンダリングされるかどうかを指定する値を取得または設定します。 (IInkPicture.get_DynamicRendering)
| Enabled | VARIANT_BOOL* | out | 描画中にインクをリアルタイム表示する動的レンダリングが有効かどうかを受け取る VARIANT_BOOL へのポインタである。 |
インクが描画されると同時にレンダリングされるかどうかを指定する値を取得または設定します。 (IInkPicture.put_DynamicRendering)
| Enabled | VARIANT_BOOL | in | 描画中の動的レンダリングを有効にするかどうかを指定する VARIANT_BOOL である。 |
InkCollector の目的のパケット記述を取得または設定します。 (IInkPicture.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 の目的のパケット記述を取得または設定します。 (IInkPicture.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 に変わるまで、受信するパケットデータに影響しません。
カスタムのマウスアイコンを取得または設定します。 (IInkPicture.get_MouseIcon)
| MouseIcon | IPictureDisp** | out | マウス ポインタにカスタム アイコンとして使用される画像を受け取るポインタである。 |
解説(Remarks)
[propputref] 関数は NULL 参照を受け付けることができ、その場合は S_OK が返されます。
このプロパティは、MousePointer プロパティが IMP_Custom に設定されているときに使用されるカスタムアイコンを提供します。
MouseIcon プロパティを使用して、カーソルファイルまたはアイコンファイルのいずれかを読み込むことができます。MouseIcon プロパティにより、アプリケーションは任意のサイズおよび任意のホットスポット位置を持つカスタムカーソルを利用できます。
カスタムのマウスアイコンを取得または設定します。 (IInkPicture.put_MouseIcon)
| MouseIcon | IPictureDisp* | inoptional | マウス ポインタとして使用するカスタム アイコン画像へのポインタである。 |
解説(Remarks)
[propputref] 関数は NULL 参照を受け付けることができ、その場合は S_OK が返されます。
このプロパティは、MousePointer プロパティが IMP_Custom に設定されているときに使用されるカスタムアイコンを提供します。
MouseIcon プロパティを使用して、カーソルファイルまたはアイコンファイルのいずれかを読み込むことができます。MouseIcon プロパティにより、アプリケーションは任意のサイズおよび任意のホットスポット位置を持つカスタムカーソルを利用できます。
| MouseIcon | IPictureDisp* | inoptional | マウス ポインタとして使用するカスタム アイコン画像への参照ポインタである。 |
表示されるマウスポインターの種類を示す値を取得または設定します。 (IInkPicture.get_MousePointer)
| MousePointer | InkMousePointer* | out | 現在のマウス ポインタの種類を受け取る InkMousePointer へのポインタである。 |
解説(Remarks)
MousePointer プロパティを IMP_Default に設定した場合、マウスカーソルの設定は現在のカーソルの描画属性に基づきます。インクコレクターが無効になっている場合、マウスカーソルの設定は基になるウィンドウのマウスカーソルの DrawingAttributes プロパティに基づきます。MousePointer プロパティが IMP_Custom に設定され、MouseIcon プロパティが NULL の場合、インクコレクターはマウスカーソルの設定を処理しなくなります。それ以外の設定 (MousePointer プロパティが IMP_Default で、かつ MouseIcon プロパティが NULL である場合を除く) にマウスカーソルを設定すると、マウスカーソルは現在の設定を使用するようになります。
マウスポインターがフォームやダイアログボックス上のコントロールの上を通過する際に、機能の変化を示したい場合にこのプロパティを使用できます。IMP_Hourglass の設定は、処理や操作が完了するまでユーザーが待つ必要があることを示すのに便利です。
表示されるマウスポインターの種類を示す値を取得または設定します。 (IInkPicture.put_MousePointer)
| MousePointer | InkMousePointer | in | 設定するマウス ポインタの種類を指定する InkMousePointer 値である。 |
解説(Remarks)
MousePointer プロパティを IMP_Default に設定した場合、マウスカーソルの設定は現在のカーソルの描画属性に基づきます。インクコレクターが無効になっている場合、マウスカーソルの設定は基になるウィンドウのマウスカーソルの DrawingAttributes プロパティに基づきます。MousePointer プロパティが IMP_Custom に設定され、MouseIcon プロパティが NULL の場合、インクコレクターはマウスカーソルの設定を処理しなくなります。それ以外の設定 (MousePointer プロパティが IMP_Default で、かつ MouseIcon プロパティが NULL である場合を除く) にマウスカーソルを設定すると、マウスカーソルは現在の設定を使用するようになります。
マウスポインターがフォームやダイアログボックス上のコントロールの上を通過する際に、機能の変化を示したい場合にこのプロパティを使用できます。IMP_Hourglass の設定は、処理や操作が完了するまでユーザーが待つ必要があることを示すのに便利です。
InkPicture コントロールがインクモード、削除モード、または選択/編集モードのいずれであるかを指定する値を取得または設定します。 (Get)
| EditingMode | InkOverlayEditingMode* | out | 現在の編集モード(インク描画・削除・選択)を受け取る InkOverlayEditingMode へのポインタである。 |
解説(Remarks)
インクの収集中に EditingMode プロパティを変更すると、InkOverlay および InkPicture オブジェクトはエラーを生成します。この競合を避けるため、EditingMode プロパティを変更する前に CollectingInk プロパティが FALSE であることを確認してください。
インクの消去の詳細については、Erasing Ink with the Pen を参照してください。
InkPicture コントロールがインクモード、削除モード、または選択/編集モードのいずれであるかを指定する値を取得または設定します。 (Put)
| EditingMode | InkOverlayEditingMode | in | 設定する編集モード(インク描画・削除・選択)を指定する InkOverlayEditingMode 値である。 |
解説(Remarks)
インクの収集中に EditingMode プロパティを変更すると、InkOverlay および InkPicture オブジェクトはエラーを生成します。この競合を避けるため、EditingMode プロパティを変更する前に CollectingInk プロパティが FALSE であることを確認してください。
インクの消去の詳細については、Erasing Ink with the Pen を参照してください。
InkOverlay オブジェクトまたは InkPicture コントロール内で現在選択されている InkStrokes コレクションを取得または設定します。 (Get)
| Selection | IInkStrokes** | out | 現在選択されているストロークのコレクションを受け取るポインタである。 |
解説(Remarks)
このプロパティの詳細については、同じ機能を持つ InkOverlay Class の Selection Property プロパティを参照してください。
InkOverlay オブジェクトまたは InkPicture コントロール内で現在選択されている InkStrokes コレクションを取得または設定します。 (Put)
| Selection | IInkStrokes* | inoptional | 選択状態にするストローク コレクションへのポインタである。 |
解説(Remarks)
このプロパティの詳細については、同じ機能を持つ InkOverlay Class の Selection Property プロパティを参照してください。
インクをストローク単位で消去するかポイント単位で消去するかを指定する値を取得または設定します。 (Get)
| EraserMode | InkOverlayEraserMode* | out | 現在の消しゴム モード(ストローク単位・ポイント単位)を受け取る InkOverlayEraserMode へのポインタである。 |
解説(Remarks)
このプロパティは、EditingMode プロパティが Delete に設定されている場合にのみ適用されます。
このプロパティの詳細については、同じ機能を持つ InkOverlay オブジェクトの EraserMode プロパティを参照してください。
インクをストローク単位で消去するかポイント単位で消去するかを指定する値を取得または設定します。 (Put)
| EraserMode | InkOverlayEraserMode | in | 設定する消しゴム モード(ストローク単位・ポイント単位)を指定する InkOverlayEraserMode 値である。 |
解説(Remarks)
このプロパティは、EditingMode プロパティが Delete に設定されている場合にのみ適用されます。
このプロパティの詳細については、同じ機能を持つ InkOverlay オブジェクトの EraserMode プロパティを参照してください。
消しゴムのペン先の幅を指定する値を取得または設定します。 (Get)
| EraserWidth | INT* | out | 現在の消しゴムの幅(インク空間単位)を受け取るポインタである。 |
解説(Remarks)
この値は、消しゴムのペン先の幅をインク空間単位で指定します。
このプロパティに負の値を割り当てることはできません。
このプロパティは、EditingMode プロパティが IOEM_Delete に設定され、かつ EraserMode プロパティが IOERM_PointErase に設定されている場合にのみ適用されます。
消しゴムのペン先の幅を指定する値を取得または設定します。 (Put)
| newEraserWidth | INT | in | 設定する消しゴムの幅(インク空間単位)を指定する。 |
解説(Remarks)
この値は、消しゴムのペン先の幅をインク空間単位で指定します。
このプロパティに負の値を割り当てることはできません。
このプロパティは、EditingMode プロパティが IOEM_Delete に設定され、かつ EraserMode プロパティが IOERM_PointErase に設定されている場合にのみ適用されます。
| pPicture | IPictureDisp* | inoptional | コントロールの背景に表示する画像オブジェクトへの参照ポインタである。 |
InkPicture コントロールに表示するグラフィックスファイルを取得します。 (Put)
| pPicture | IPictureDisp* | inoptional | コントロールの背景に表示する画像オブジェクトへのポインタである。 |
InkPicture コントロールに表示するグラフィックスファイルを取得します。 (Get)
| ppPicture | IPictureDisp** | out | コントロールの背景に表示されている画像オブジェクトを受け取るポインタである。 |
InkPicture コントロールが画像の配置とサイズ変更をどのように扱うかを取得または設定します。 (Put)
| smNewSizeMode | InkPictureSizeMode | in | 背景画像のサイズ調整方法(等倍・拡大縮小等)を指定する InkPictureSizeMode 値である。 |
解説(Remarks)
このプロパティに指定できる値は InkPictureSizeMode 列挙体から取得されます。既定の IPSM_Normal モードでは、画像は InkPicture コントロールの左上隅に配置され、InkPicture コントロールに収まらない部分は切り取られます。IPSM_StretchImage 値を使用すると、画像はコントロールに合わせて引き伸ばされます。
IPSM_AutoSize 値を使用すると、コントロールは常に画像に合うようにサイズ変更されます。IPSM_CenterImage 値を使用すると、画像はコントロール内で中央に配置されます。
InkPicture コントロールが画像の配置とサイズ変更をどのように扱うかを取得または設定します。 (Get)
| smSizeMode | InkPictureSizeMode* | out | 現在の背景画像のサイズ調整方法を受け取る InkPictureSizeMode へのポインタである。 |
解説(Remarks)
このプロパティに指定できる値は InkPictureSizeMode 列挙体から取得されます。既定の IPSM_Normal モードでは、画像は InkPicture コントロールの左上隅に配置され、InkPicture コントロールに収まらない部分は切り取られます。IPSM_StretchImage 値を使用すると、画像はコントロールに合わせて引き伸ばされます。
IPSM_AutoSize 値を使用すると、コントロールは常に画像に合うようにサイズ変更されます。IPSM_CenterImage 値を使用すると、画像はコントロール内で中央に配置されます。
InkPicture コントロールの背景色を取得または設定します。 (Put)
| newColor | DWORD | in | コントロールの背景色を RGB 値で指定する。 |
InkPicture コントロールの背景色を取得または設定します。 (Get)
| pColor | DWORD* | out | 現在のコントロールの背景色を RGB 値として受け取るポインタである。 |
インク入力領域で使用できるカーソルのコレクションを取得します。各カーソルは、ペンまたはその他のインク入力デバイスの先端に対応します。 (IInkPicture.get_Cursors)
| Cursors | IInkCursors** | out | このコントロールで使用可能なカーソルのコレクションを受け取るポインタである。 |
解説(Remarks)
カーソルは InkCollector オブジェクトに対してローカルです。
InkCollector が新たに検出したカーソルは、返されるカーソルのコレクションに追加されますが、返されるカーソルは必ずしも InkCollector が検出した順序で返されるとは限りません。
InkCollector でマウスが入力デバイスとして有効になっている場合 (SetAllTabletsMode メソッドの useMouse パラメーターが TRUE の場合)、マウスは InkCollector がペンなどの他のカーソルを検出した後に IInkCursors コレクションに追加されます。これは、ペンもマウスと同様に動作するためです。
- タブレットモードが変更された場合 (たとえば SetSingleTabletIntegratedMode から SetAllTabletsMode への変更)。
- SetSingleTabletIntegratedMode メソッドが呼び出された場合。
ウィンドウ矩形の周囲の x 軸方向のマージンを画面座標で取得または設定します。このマージンは、インクウィンドウの端の周囲にバッファーを提供します。 (IInkPicture.get_MarginX)
| MarginX | INT* | out | 入力領域の水平方向のマージン(ピクセル)を受け取るポインタである。 |
解説(Remarks)
このプロパティは、非統合型のタブレットデバイスで最もよく使用されます。バッファーによって、画面と 1 対 1 で対応しないデバイスに書き込む際の誤差の余裕がユーザーに与えられます。
マージンは画面座標で指定します。正のマージンはコンテキストの外側に広がり、負のマージンはコンテキストの内側に広がり、値が 0 の場合はマージンがありません。ストロークがマージン内で開始された場合、インクは収集されます。この動作によってインクが切り取られることはありません。オブジェクトまたはコントロールのコンテキストは、GetWindowInputRectangle メソッドから取得されるウィンドウ入力矩形、またはウィンドウのクライアント矩形のいずれかです。
マージンはアプリケーションのウィンドウ内でのみ有効です。ペンがアプリケーションのウィンドウの外側で使用された場合、アプリケーションはフォーカスを失い、インクを収集できません。
ウィンドウ矩形の周囲の x 軸方向のマージンを画面座標で取得または設定します。このマージンは、インクウィンドウの端の周囲にバッファーを提供します。 (IInkPicture.put_MarginX)
| MarginX | INT | in | 入力領域の水平方向のマージン(ピクセル)を指定する。 |
解説(Remarks)
このプロパティは、非統合型のタブレットデバイスで最もよく使用されます。バッファーによって、画面と 1 対 1 で対応しないデバイスに書き込む際の誤差の余裕がユーザーに与えられます。
マージンは画面座標で指定します。正のマージンはコンテキストの外側に広がり、負のマージンはコンテキストの内側に広がり、値が 0 の場合はマージンがありません。ストロークがマージン内で開始された場合、インクは収集されます。この動作によってインクが切り取られることはありません。オブジェクトまたはコントロールのコンテキストは、GetWindowInputRectangle メソッドから取得されるウィンドウ入力矩形、またはウィンドウのクライアント矩形のいずれかです。
マージンはアプリケーションのウィンドウ内でのみ有効です。ペンがアプリケーションのウィンドウの外側で使用された場合、アプリケーションはフォーカスを失い、インクを収集できません。
ウィンドウ矩形の周囲の y 軸方向のマージンを画面座標で取得または設定します。このマージンは、インクウィンドウの端の周囲にバッファーを提供します。 (IInkPicture.get_MarginY)
| MarginY | INT* | out | 入力領域の垂直方向のマージン(ピクセル)を受け取るポインタである。 |
解説(Remarks)
このプロパティは、非統合型のタブレットデバイスで最もよく使用されます。バッファーによって、画面と 1 対 1 で対応しないデバイスに書き込む際の誤差の余裕がユーザーに与えられます。
マージンは画面座標で指定します。正のマージンはコンテキストの外側に広がり、負のマージンはコンテキストの内側に広がり、値が 0 の場合はマージンがありません。ストロークがマージン内で開始された場合、インクは収集されます。この動作によってインクが切り取られることはありません。オブジェクトまたはコントロールのコンテキストは、GetWindowInputRectangle メソッドから取得されるウィンドウ入力矩形、またはウィンドウのクライアント矩形のいずれかです。
マージンはアプリケーションのウィンドウ内でのみ有効です。ペンがアプリケーションのウィンドウの外側で使用された場合、アプリケーションはフォーカスを失い、インクを収集できません。
ウィンドウ矩形の周囲の y 軸方向のマージンを画面座標で取得または設定します。このマージンは、インクウィンドウの端の周囲にバッファーを提供します。 (IInkPicture.put_MarginY)
| MarginY | INT | in | 入力領域の垂直方向のマージン(ピクセル)を指定する。 |
解説(Remarks)
このプロパティは、非統合型のタブレットデバイスで最もよく使用されます。バッファーによって、画面と 1 対 1 で対応しないデバイスに書き込む際の誤差の余裕がユーザーに与えられます。
マージンは画面座標で指定します。正のマージンはコンテキストの外側に広がり、負のマージンはコンテキストの内側に広がり、値が 0 の場合はマージンがありません。ストロークがマージン内で開始された場合、インクは収集されます。この動作によってインクが切り取られることはありません。オブジェクトまたはコントロールのコンテキストは、GetWindowInputRectangle メソッドから取得されるウィンドウ入力矩形、またはウィンドウのクライアント矩形のいずれかです。
マージンはアプリケーションのウィンドウ内でのみ有効です。ペンがアプリケーションのウィンドウの外側で使用された場合、アプリケーションはフォーカスを失い、インクを収集できません。
カーソルが属する IInkTablet オブジェクト、またはオブジェクトやコントロールが現在入力の収集に使用している IInkTablet オブジェクトを取得します。 (IInkPicture.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 のキーの組み合わせを処理する場合)。これはシングルスレッドアパートメントモデルのアプリケーションで発生する問題です。
システムがハイコントラストモードのときに、インクを単一の色でレンダリングするかどうかを指定する値を取得または設定します。 (IInkPicture.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 関数を参照してください。
システムがハイコントラストモードのときに、インクを単一の色でレンダリングするかどうかを指定する値を取得または設定します。 (IInkPicture.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 関数を参照してください。
システムがハイコントラストモードのときに、選択に関するすべてのユーザーインターフェイス (選択の境界ボックスおよび選択ハンドル) をハイコントラストで描画するかどうかを指定する値を取得または設定します。 (Get)
| Support | VARIANT_BOOL* | out | ハイ コントラスト モード時に選択 UI を高コントラスト表示する設定が有効かどうかを受け取る VARIANT_BOOL へのポインタである。 |
解説(Remarks)
このプロパティの詳細については、同じ機能を持つ InkOverlay オブジェクトの SupportHighContrastSelectionUI プロパティを参照してください。
システムがハイコントラストモードのときに、選択に関するすべてのユーザーインターフェイス (選択の境界ボックスおよび選択ハンドル) をハイコントラストで描画するかどうかを指定する値を取得または設定します。 (Put)
| Support | VARIANT_BOOL | in | ハイ コントラスト モード時に選択 UI を高コントラスト表示するかどうかを指定する VARIANT_BOOL である。 |
解説(Remarks)
このプロパティの詳細については、同じ機能を持つ InkOverlay オブジェクトの SupportHighContrastSelectionUI プロパティを参照してください。
ヒットテストで選択のどの部分がヒットしたか (ヒットした場合) を指定する SelectionHitResult 列挙体のメンバーを取得します。
| x | INT | in | ヒットテストの x 位置 (ピクセル単位)。 |
| y | INT | in | ヒットテストの y 位置 (ピクセル単位)。 |
| SelArea | SelectionHitResult* | out | SelectionHitResult 列挙体の値。 |
解説(Remarks)
このメソッドの詳細については、同じ機能を持つ InkOverlay オブジェクトの HitTestSelection メソッドを参照してください。
既知のジェスチャに対するオブジェクトまたはコントロールの関心を変更します。 (IInkPicture.SetGestureStatus)
| 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 を返す場合にのみ呼び出してください。
InkPicture コントロールが特定のアプリケーションジェスチャに関心を持っているかどうかを示す値を取得します。
| Gesture | InkApplicationGesture | in | ステータスを取得する対象のジェスチャ。 |
| Listening | VARIANT_BOOL* | out | VARIANT_TRUE は、InkPicture コントロールがそのジェスチャに関心を持っており、ジェスチャが認識されたときに Gesture Event が発生することを示します。VARIANT_FALSE は、InkPicture コントロールがそのジェスチャに関心を持っておらず、ジェスチャとして認識されたストロークが IInkStrokeDisp オブジェクトとして残ることを示します。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| HRESULT 値 | 説明 |
|---|---|
| 成功しました。 | |
| パラメーターに無効なポインターが含まれていました。 | |
|
収集モードがジェスチャモードである必要があります。 |
| 処理を実行するためのメモリを割り当てることができません。 | |
|
例外が発生しました。 |
| フラグが無効です。 |
解説(Remarks)
gesture パラメーターに IAG_AllGestures が指定されている場合、このメソッドは例外をスローします。
特定のジェスチャに対する InkPicture コントロールの関心を設定するには、SetGestureStatus Method を呼び出します。
インクが描画されるウィンドウ矩形をピクセル単位で取得します。
| WindowInputRectangle | IInkRectangle** | inout | インクが描画される InkRectangle 型の矩形を取得します。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| パラメーターに無効なポインターが含まれています。 | |
|
InkRectangle オブジェクトが登録されていません。 |
|
メソッド内で例外が発生します。 |
解説(Remarks)
このメソッドに渡す前に、まず矩形を割り当てておく必要があります。
既定では、ウィンドウ入力矩形は {0,0,0,0} に設定されています。この既定の矩形はウィンドウ全体のサイズに対応します。
SetWindowInputRectangle メソッドを呼び出す前に GetWindowInputRectangle を呼び出した場合、このメソッドは既定の座標を持つ矩形を取得します。
インクが描画されるウィンドウ矩形をピクセル単位で変更します。
| 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 に接続されている任意のタブレットからインクを収集できるようにします。 (IInkPicture.SetAllTabletsMode)
| UseMouseForInput | VARIANT_BOOL | in | 省略可能。マウスを入力デバイスとして使用する場合は VARIANT_TRUE、それ以外の場合は VARIANT_FALSE。 既定値は VARIANT_TRUE です。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
|
InkCollector が有効になっている間はモードを変更できません。 |
|
メソッド内で例外が発生しました。 |
| フラグが無効です。 |
解説(Remarks)
これは、インクを収集するオブジェクトまたはコントロールの既定のモードです。インクコレクターが 1 つのタブレットからのみインクを収集するようにするには、SetSingleTabletIntegratedMode メソッドを呼び出します。
インクコレクター (InkCollector、InkOverlay、または InkPicture) が 1 つのタブレットからのみインクを収集できるようにします。他のタブレットからのインクは、インクコレクターによって無視されます。 (IInkPicture.SetSingleTabletIntegratedMode)
| Tablet | IInkTablet* | inoptional | インクを収集または描画する対象のタブレット。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| パラメーターに無効なポインターが含まれていました。 | |
|
コレクターが有効になっている間はモードを変更できません。 |
|
処理中に例外が発生しました。 |
|
tablet が互換性のある Ink オブジェクトを指していません。 |
解説(Remarks)
インクコレクターがすべてのタブレットからインクを収集できるようにするには、SetAllTabletsMode メソッドを呼び出します。
InkCollector クラス、InkOverlay クラス、または InkPicture クラスにおいて、特定のイベントに対してオブジェクトが持つ関心を取得します。 (IInkPicture.GetEventInterest)
| EventId | InkCollectorEventInterest | in | インクコレクターが関心のレベルを指定する対象のイベント。 |
| Listen | VARIANT_BOOL* | out | 指定したイベントに対する関心が送信されている場合は VARIANT_TRUE、それ以外の場合は VARIANT_FALSE。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| パラメーターに無効なポインターが含まれていました。 | |
| イベントの関心の指定が無効です。 | |
|
処理中に例外が発生しました。 |
オブジェクトまたはコントロールが指定したイベントに関心を持っているかどうかを示す値を変更します。 (IInkPicture.SetEventInterest)
| EventId | InkCollectorEventInterest | in | リッスンする対象のイベント。eventID に指定できる値は InkCollectorEventInterest 列挙型に含まれています。 |
| Listen | VARIANT_BOOL | in | イベントが使用されていることを示す場合は VARIANT_TRUE、イベントが無視されていることを示す場合は VARIANT_FALSE。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| パラメーターに無効なポインターが含まれていました。 | |
| イベントの関心の指定が無効です。 | |
|
処理中に例外が発生しました。 |
解説(Remarks)
このメソッドを使用して、インクコレクターのすべてのイベントを切り替えることができます。これらのイベントのほとんどは、パフォーマンス上の理由から既定でオフになっています。既定でオンになっているイベントは、Stroke、CursorInRange、CursorOutOfRange のみです。
NewPackets、NewInAirPackets、CursorDown の各イベントは慎重に使用してください。特に、イベントハンドラー内で実行するコードが多すぎると、インクのパフォーマンスに悪影響を及ぼす可能性があります。
InkPicture コントロールがペン入力 (空中パケット、カーソルが範囲内に入るイベントなど) を収集するかどうかを指定する値を取得または設定します。 (Get)
| Collecting | VARIANT_BOOL* | out | インクの収集が有効かどうかを受け取る VARIANT_BOOL へのポインタである。 |
解説(Remarks)
InkPicture コントロールは、Windows Vista、Microsoft Windows XP Tablet PC Edition、または Windows XP Tablet PC Edition Software Development Kit (SDK) がインストールされた Windows 2000、Windows Server 2003、Windows XP の各エディションでインクを収集します。ただし、手書き認識が行われるのは、Windows Vista、Windows XP Tablet PC Edition、または Recognizer Pack がインストールされている場合のみです。
Windows XP Tablet PC Edition 以外の Windows 2000、Windows Server 2003、Windows XP の各エディションでは、Tablet PC SDK がインストールされていない場合、InkEnabled プロパティは常に FALSE になります。
有効なオブジェクトのウィンドウ入力矩形 (コンストラクター、または SetWindowInputRectangle Method で設定) が、別の有効なオブジェクトのウィンドウ入力矩形と重なっている場合、E_INK_OVERLAPPING_INPUT_RECT エラーが返されます。
コンテナーである InkPicture コントロールの Enabled プロパティが VARIANT_FALSE に設定されると、そこに含まれるすべてのコントロールも無効になります。
InkPicture コントロールがインクを収集している間 (CollectingInk Property プロパティが VARIANT_TRUE の間) は、このプロパティを VARIANT_FALSE に設定できません。
最良の結果を得るには、アプリケーションの終了時に Enabled プロパティを VARIANT_FALSE に設定してください。
コントロールの特定のプロパティやメソッドを設定または呼び出す前に、このプロパティを VARIANT_FALSE に設定する必要があります。対象のプロパティを変更したり、対象のメソッドを呼び出したりしようとすると、エラーが発生します。次のプロパティおよびメソッドは、先に Enabled プロパティを VARIANT_FALSE に設定しない限り、設定または呼び出しができません。
InkPicture コントロールがペン入力 (空中パケット、カーソルが範囲内に入るイベントなど) を収集するかどうかを指定する値を取得または設定します。 (Put)
| Collecting | VARIANT_BOOL | in | インクの収集を有効にするかどうかを指定する VARIANT_BOOL である。 |
解説(Remarks)
InkPicture コントロールは、Windows Vista、Microsoft Windows XP Tablet PC Edition、または Windows XP Tablet PC Edition Software Development Kit (SDK) がインストールされた Windows 2000、Windows Server 2003、Windows XP の各エディションでインクを収集します。ただし、手書き認識が行われるのは、Windows Vista、Windows XP Tablet PC Edition、または Recognizer Pack がインストールされている場合のみです。
Windows XP Tablet PC Edition 以外の Windows 2000、Windows Server 2003、Windows XP の各エディションでは、Tablet PC SDK がインストールされていない場合、InkEnabled プロパティは常に FALSE になります。
有効なオブジェクトのウィンドウ入力矩形 (コンストラクター、または SetWindowInputRectangle Method で設定) が、別の有効なオブジェクトのウィンドウ入力矩形と重なっている場合、E_INK_OVERLAPPING_INPUT_RECT エラーが返されます。
コンテナーである InkPicture コントロールの Enabled プロパティが VARIANT_FALSE に設定されると、そこに含まれるすべてのコントロールも無効になります。
InkPicture コントロールがインクを収集している間 (CollectingInk Property プロパティが VARIANT_TRUE の間) は、このプロパティを VARIANT_FALSE に設定できません。
最良の結果を得るには、アプリケーションの終了時に Enabled プロパティを VARIANT_FALSE に設定してください。
コントロールの特定のプロパティやメソッドを設定または呼び出す前に、このプロパティを VARIANT_FALSE に設定する必要があります。対象のプロパティを変更したり、対象のメソッドを呼び出したりしようとすると、エラーが発生します。次のプロパティおよびメソッドは、先に Enabled プロパティを VARIANT_FALSE に設定しない限り、設定または呼び出しができません。
InkPicture コントロールがユーザーによって生成されたイベントに応答できるかどうかを決定する値を取得または設定します。 (Get)
| pbool | VARIANT_BOOL* | out | コントロール自体が有効かどうかを受け取る VARIANT_BOOL へのポインタである。 |
解説(Remarks)
InkPicture コントロールがユーザーによって生成されたイベントに応答できるかどうかを決定する値を取得または設定します。 (Put)
| vbool | VARIANT_BOOL | in | コントロール自体を有効にするかどうかを指定する VARIANT_BOOL である。 |
解説(Remarks)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IInkPicture "{E85662E0-379A-40D7-9B5C-757D233F9923}" #usecom global IInkPicture IID_IInkPicture "{04A1E553-FE36-4FDE-865E-344194E69424}" #comfunc global IInkPicture_get_hWnd 7 var #comfunc global IInkPicture_get_DefaultDrawingAttributes 8 sptr #comfunc global IInkPicture_putref_DefaultDrawingAttributes 9 sptr #comfunc global IInkPicture_get_Renderer 10 sptr #comfunc global IInkPicture_putref_Renderer 11 sptr #comfunc global IInkPicture_get_Ink 12 sptr #comfunc global IInkPicture_putref_Ink 13 sptr #comfunc global IInkPicture_get_AutoRedraw 14 var #comfunc global IInkPicture_put_AutoRedraw 15 int #comfunc global IInkPicture_get_CollectingInk 16 var #comfunc global IInkPicture_get_CollectionMode 17 var #comfunc global IInkPicture_put_CollectionMode 18 int #comfunc global IInkPicture_get_DynamicRendering 19 var #comfunc global IInkPicture_put_DynamicRendering 20 int #comfunc global IInkPicture_get_DesiredPacketDescription 21 var #comfunc global IInkPicture_put_DesiredPacketDescription 22 int #comfunc global IInkPicture_get_MouseIcon 23 sptr #comfunc global IInkPicture_put_MouseIcon 24 sptr #comfunc global IInkPicture_putref_MouseIcon 25 sptr #comfunc global IInkPicture_get_MousePointer 26 var #comfunc global IInkPicture_put_MousePointer 27 int #comfunc global IInkPicture_get_EditingMode 28 var #comfunc global IInkPicture_put_EditingMode 29 int #comfunc global IInkPicture_get_Selection 30 sptr #comfunc global IInkPicture_put_Selection 31 sptr #comfunc global IInkPicture_get_EraserMode 32 var #comfunc global IInkPicture_put_EraserMode 33 int #comfunc global IInkPicture_get_EraserWidth 34 var #comfunc global IInkPicture_put_EraserWidth 35 int #comfunc global IInkPicture_putref_Picture 36 sptr #comfunc global IInkPicture_put_Picture 37 sptr #comfunc global IInkPicture_get_Picture 38 sptr #comfunc global IInkPicture_put_SizeMode 39 int #comfunc global IInkPicture_get_SizeMode 40 var #comfunc global IInkPicture_put_BackColor 41 int #comfunc global IInkPicture_get_BackColor 42 var #comfunc global IInkPicture_get_Cursors 43 sptr #comfunc global IInkPicture_get_MarginX 44 var #comfunc global IInkPicture_put_MarginX 45 int #comfunc global IInkPicture_get_MarginY 46 var #comfunc global IInkPicture_put_MarginY 47 int #comfunc global IInkPicture_get_Tablet 48 sptr #comfunc global IInkPicture_get_SupportHighContrastInk 49 var #comfunc global IInkPicture_put_SupportHighContrastInk 50 int #comfunc global IInkPicture_get_SupportHighContrastSelectionUI 51 var #comfunc global IInkPicture_put_SupportHighContrastSelectionUI 52 int #comfunc global IInkPicture_HitTestSelection 53 int,int,var #comfunc global IInkPicture_SetGestureStatus 54 int,int #comfunc global IInkPicture_GetGestureStatus 55 int,var #comfunc global IInkPicture_GetWindowInputRectangle 56 sptr #comfunc global IInkPicture_SetWindowInputRectangle 57 sptr #comfunc global IInkPicture_SetAllTabletsMode 58 int #comfunc global IInkPicture_SetSingleTabletIntegratedMode 59 sptr #comfunc global IInkPicture_GetEventInterest 60 int,var #comfunc global IInkPicture_SetEventInterest 61 int,int #comfunc global IInkPicture_get_InkEnabled 62 var #comfunc global IInkPicture_put_InkEnabled 63 int #comfunc global IInkPicture_get_Enabled 64 var #comfunc global IInkPicture_put_Enabled 65 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_IInkPicture "{E85662E0-379A-40D7-9B5C-757D233F9923}" #usecom global IInkPicture IID_IInkPicture "{04A1E553-FE36-4FDE-865E-344194E69424}" #comfunc global IInkPicture_get_hWnd 7 sptr #comfunc global IInkPicture_get_DefaultDrawingAttributes 8 sptr #comfunc global IInkPicture_putref_DefaultDrawingAttributes 9 sptr #comfunc global IInkPicture_get_Renderer 10 sptr #comfunc global IInkPicture_putref_Renderer 11 sptr #comfunc global IInkPicture_get_Ink 12 sptr #comfunc global IInkPicture_putref_Ink 13 sptr #comfunc global IInkPicture_get_AutoRedraw 14 sptr #comfunc global IInkPicture_put_AutoRedraw 15 int #comfunc global IInkPicture_get_CollectingInk 16 sptr #comfunc global IInkPicture_get_CollectionMode 17 sptr #comfunc global IInkPicture_put_CollectionMode 18 int #comfunc global IInkPicture_get_DynamicRendering 19 sptr #comfunc global IInkPicture_put_DynamicRendering 20 int #comfunc global IInkPicture_get_DesiredPacketDescription 21 sptr #comfunc global IInkPicture_put_DesiredPacketDescription 22 int #comfunc global IInkPicture_get_MouseIcon 23 sptr #comfunc global IInkPicture_put_MouseIcon 24 sptr #comfunc global IInkPicture_putref_MouseIcon 25 sptr #comfunc global IInkPicture_get_MousePointer 26 sptr #comfunc global IInkPicture_put_MousePointer 27 int #comfunc global IInkPicture_get_EditingMode 28 sptr #comfunc global IInkPicture_put_EditingMode 29 int #comfunc global IInkPicture_get_Selection 30 sptr #comfunc global IInkPicture_put_Selection 31 sptr #comfunc global IInkPicture_get_EraserMode 32 sptr #comfunc global IInkPicture_put_EraserMode 33 int #comfunc global IInkPicture_get_EraserWidth 34 sptr #comfunc global IInkPicture_put_EraserWidth 35 int #comfunc global IInkPicture_putref_Picture 36 sptr #comfunc global IInkPicture_put_Picture 37 sptr #comfunc global IInkPicture_get_Picture 38 sptr #comfunc global IInkPicture_put_SizeMode 39 int #comfunc global IInkPicture_get_SizeMode 40 sptr #comfunc global IInkPicture_put_BackColor 41 int #comfunc global IInkPicture_get_BackColor 42 sptr #comfunc global IInkPicture_get_Cursors 43 sptr #comfunc global IInkPicture_get_MarginX 44 sptr #comfunc global IInkPicture_put_MarginX 45 int #comfunc global IInkPicture_get_MarginY 46 sptr #comfunc global IInkPicture_put_MarginY 47 int #comfunc global IInkPicture_get_Tablet 48 sptr #comfunc global IInkPicture_get_SupportHighContrastInk 49 sptr #comfunc global IInkPicture_put_SupportHighContrastInk 50 int #comfunc global IInkPicture_get_SupportHighContrastSelectionUI 51 sptr #comfunc global IInkPicture_put_SupportHighContrastSelectionUI 52 int #comfunc global IInkPicture_HitTestSelection 53 int,int,sptr #comfunc global IInkPicture_SetGestureStatus 54 int,int #comfunc global IInkPicture_GetGestureStatus 55 int,sptr #comfunc global IInkPicture_GetWindowInputRectangle 56 sptr #comfunc global IInkPicture_SetWindowInputRectangle 57 sptr #comfunc global IInkPicture_SetAllTabletsMode 58 int #comfunc global IInkPicture_SetSingleTabletIntegratedMode 59 sptr #comfunc global IInkPicture_GetEventInterest 60 int,sptr #comfunc global IInkPicture_SetEventInterest 61 int,int #comfunc global IInkPicture_get_InkEnabled 62 sptr #comfunc global IInkPicture_put_InkEnabled 63 int #comfunc global IInkPicture_get_Enabled 64 sptr #comfunc global IInkPicture_put_Enabled 65 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 不要)。