Win32 API 日本語リファレンス
ホームUI.TabletPC › InkCollectionMode

InkCollectionMode

列挙型
基底型i4

メンバー 3

名前10進16進説明
ICM_InkOnly00x0

インクのみを収集し、ストロークを作成します。

Gesture イベントの関心 (event interest) は FALSE に設定されます。つまり、ジェスチャは収集されません (他のすべてのイベントの関心は変更されません)。

ICM_GestureOnly10x1

ジェスチャのみを収集し、ストロークは作成しません。ジェスチャは単一ストロークでも複数ストロークでもかまいません。複数ストロークのジェスチャは、認識エンジンの組み込みタイマーで設定された時間内にストロークが描かれた場合に受け付けられます。

ストローク関連およびパケット関連のイベントは、InkCollector からは発生しません。カーソル関連のイベントは発生し、インクは常に削除されます。

Gesture イベントの関心 (event interest) は TRUE に設定されます。つまり、ジェスチャが収集されます (他のすべてのイベントの関心は変更されません)。

ICM_InkAndGesture20x2

単一ストロークのジェスチャのみを受け付けます。最初に Gesture イベントが発生し、CancelTRUE または FALSE を指定できます。既定値は TRUE ですが、NoGesture が主要なジェスチャである場合は、Cancel の既定値は FALSE になります。TRUE の場合、インクはジェスチャとして扱われ、削除されます。FALSE の場合、ジェスチャはインクとして扱われ、Stroke イベントが発生します。

Gesture イベントの関心 (event interest) は TRUE に設定されます (他のすべてのイベントの関心は変更されません)。

公式ドキュメント

ユーザーが書いている間に、インク、ジェスチャ、またはインクとジェスチャの両方のいずれを認識するかを決定する値を定義します。

解説(Remarks)

InkOnly モードまたは InkAndGesture モードで、ユーザーが右クリックを試みてペンを動かすと、ペン先からインクが流れます。Stroke イベントを処理する際は、ペンの移動によって流れたインクを消去してください。

InkCollectionMode が GestureOnly に設定されている場合 (CollectionMode プロパティで設定します)、ユーザーがジェスチャを行ってから Gesture イベントが発生するまでのタイムアウトは固定値であり、プログラムから変更することはできません。ジェスチャの認識は InkAndGesture モードの方が高速です。InkAndGesture モードでインクの収集を防ぐには、次のようにします。

Microsoft Windows XP Tablet PC Edition Software Development Kit (SDK) はインストールされているものの認識エンジンが存在しないシステムで、この列挙型を InkPicture コントロール (または InkCollector オブジェクトや InkOverlay オブジェクト) と共に使用する場合、モードを GestureOnly または InkAndGesture に設定することはできません。

インク コレクターは、常にストローク (InkOnly モード) またはジェスチャ (GestureOnly モード) のいずれかを作成し、場合によっては両方を作成します (InkAndGesture モード)。

各モードの代表的なシナリオを次に示します。

CollectionMode プロパティが InkAndGesture に設定されていて、既知のジェスチャに対するオブジェクトまたはコントロールの関心が (SetGestureStatus メソッドの呼び出しによって) 設定されている場合、望ましくない動作が発生することがあります。認識エンジンの認識候補の一覧に含まれるジェスチャに似たインクをユーザーが描画すると、そのジェスチャが最上位の候補でなくても Gesture イベントが発生し、インクが消えます。インクが消えないようにしてジェスチャの収集を取り消すには、認識エンジンに応答させたくないイベントの場合に CancelTRUE に設定します。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
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 Enum
import 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* = 2
enum 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