InkCollectionMode
列挙型メンバー 3
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| ICM_InkOnly | 0 | 0x0 | インクのみを収集し、ストロークを作成します。 Gesture イベントの関心 (event interest) は FALSE に設定されます。つまり、ジェスチャは収集されません (他のすべてのイベントの関心は変更されません)。 |
| ICM_GestureOnly | 1 | 0x1 | ジェスチャのみを収集し、ストロークは作成しません。ジェスチャは単一ストロークでも複数ストロークでもかまいません。複数ストロークのジェスチャは、認識エンジンの組み込みタイマーで設定された時間内にストロークが描かれた場合に受け付けられます。 ストローク関連およびパケット関連のイベントは、InkCollector からは発生しません。カーソル関連のイベントは発生し、インクは常に削除されます。 Gesture イベントの関心 (event interest) は TRUE に設定されます。つまり、ジェスチャが収集されます (他のすべてのイベントの関心は変更されません)。 |
| ICM_InkAndGesture | 2 | 0x2 | 単一ストロークのジェスチャのみを受け付けます。最初に Gesture イベントが発生し、Cancel に TRUE または FALSE を指定できます。既定値は TRUE ですが、NoGesture が主要なジェスチャである場合は、Cancel の既定値は FALSE になります。TRUE の場合、インクはジェスチャとして扱われ、削除されます。FALSE の場合、ジェスチャはインクとして扱われ、Stroke イベントが発生します。 Gesture イベントの関心 (event interest) は TRUE に設定されます (他のすべてのイベントの関心は変更されません)。 |
公式ドキュメント
ユーザーが書いている間に、インク、ジェスチャ、またはインクとジェスチャの両方のいずれを認識するかを決定する値を定義します。
解説(Remarks)
InkOnly モードまたは InkAndGesture モードで、ユーザーが右クリックを試みてペンを動かすと、ペン先からインクが流れます。Stroke イベントを処理する際は、ペンの移動によって流れたインクを消去してください。
InkCollectionMode が GestureOnly に設定されている場合 (CollectionMode プロパティで設定します)、ユーザーがジェスチャを行ってから Gesture イベントが発生するまでのタイムアウトは固定値であり、プログラムから変更することはできません。ジェスチャの認識は InkAndGesture モードの方が高速です。InkAndGesture モードでインクの収集を防ぐには、次のようにします。
- CollectionMode を InkAndGesture に設定します。
- Stroke イベントでストロークを削除します。
- Gesture イベントでジェスチャを処理します。
- DynamicRendering を FALSE に設定します。
インク コレクターは、常にストローク (InkOnly モード) またはジェスチャ (GestureOnly モード) のいずれかを作成し、場合によっては両方を作成します (InkAndGesture モード)。
各モードの代表的なシナリオを次に示します。
- InkOnly:
- CursorInRange イベントが発生します。
- NewInAirPackets イベントが発生します。
- CursorDown イベントが発生します。
- NewPackets イベントが発生します。
- IInkStrokeDisp オブジェクトが作成されます。
- CursorOutOfRange イベントが発生します。
メモ CursorOutOfRange イベントを常に発生させたいとは限りません。インクの描画を続ける場合は、ストロークの完了後に NewInAirPackets イベントまたは CursorDown イベントに戻ることができます。 - GestureOnly:
- CursorInRange イベントが発生します。
- NewInAirPackets イベントが発生します。
- CursorDown イベントが発生します。
- NewPackets イベントが発生します。
- IInkGesture オブジェクトが作成されます。カーソルの動きがジェスチャを表していない場合は、何も起こりません。
- CursorOutOfRange イベントが発生します。
メモ このモードでは、単一ストロークと複数ストロークのどちらのジェスチャも受け付けられます。 - InkAndGesture:
- CursorInRange イベントが発生します。
- NewInAirPackets イベントが発生します。
- CursorDown イベントが発生します。
- NewPackets イベントが発生します。
- IInkGesture オブジェクトまたは IInkStrokeDisp オブジェクトが作成されます。
- CursorOutOfRange イベントが発生します。
メモ このモードでは、単一ストロークのジェスチャのみが受け付けられます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum InkCollectionMode : int {
ICM_InkOnly = 0,
ICM_GestureOnly = 1,
ICM_InkAndGesture = 2
} InkCollectionMode;public enum InkCollectionMode : int
{
ICM_InkOnly = 0,
ICM_GestureOnly = 1,
ICM_InkAndGesture = 2,
}Public Enum InkCollectionMode As Integer
ICM_InkOnly = 0
ICM_GestureOnly = 1
ICM_InkAndGesture = 2
End Enumimport enum
class InkCollectionMode(enum.IntEnum):
ICM_InkOnly = 0
ICM_GestureOnly = 1
ICM_InkAndGesture = 2// InkCollectionMode
pub const ICM_InkOnly: i32 = 0;
pub const ICM_GestureOnly: i32 = 1;
pub const ICM_InkAndGesture: i32 = 2;// InkCollectionMode
const (
ICM_InkOnly int32 = 0
ICM_GestureOnly int32 = 1
ICM_InkAndGesture int32 = 2
)const
ICM_InkOnly = 0;
ICM_GestureOnly = 1;
ICM_InkAndGesture = 2;// InkCollectionMode
pub const ICM_InkOnly: i32 = 0;
pub const ICM_GestureOnly: i32 = 1;
pub const ICM_InkAndGesture: i32 = 2;const
ICM_InkOnly* = 0
ICM_GestureOnly* = 1
ICM_InkAndGesture* = 2enum InkCollectionMode : int {
ICM_InkOnly = 0,
ICM_GestureOnly = 1,
ICM_InkAndGesture = 2,
}#define global ICM_InkOnly 0x0
#define global ICM_GestureOnly 0x1
#define global ICM_InkAndGesture 0x2