InkCollectionMode 枚举 (msinkaut.h)
定义用于确定是否在用户写入时识别墨迹、笔势或墨迹和笔势的值。
语法
typedef enum InkCollectionMode {
ICM_InkOnly = 0,
ICM_GestureOnly,
ICM_InkAndGesture
} ;
常量
ICM_InkOnly 值: 0 仅收集墨迹,创建笔划。 手势事件兴趣设置为 FALSE,这意味着不会收集手势, (所有其他事件兴趣保持) 。 |
ICM_GestureOnly 仅收集手势,不创建笔划。 手势可以是单笔划或多笔划。 如果在识别器内置计时器设置的时间内进行笔划,则接受多笔划手势。 所有与笔划相关的事件和与数据包相关的事件都不会从 InkCollector 触发。 游标事件会触发,并且始终删除墨迹。 手势事件兴趣设置为 TRUE,这意味着将收集手势, (所有其他事件兴趣保持) 。 |
ICM_InkAndGesture 仅接受单笔划手势。 首先触发手势事件,使用户能够说“取消 TRUE = ”或“FALSE”。 默认值为 TRUE,除非 NoGesture 是主要手势, 取消 默认为 FALSE。 如果 为 TRUE,则墨迹是手势并被删除。 如果 为 FALSE,则手势为墨迹,并触发 Stroke 事件。 手势事件兴趣设置为 TRUE, (所有其他事件兴趣都保留为) 。 |
注解
如果用户尝试右键单击并在 InkOnly 或 InkAndGesture 模式下移动笔,墨迹会从笔尖流出。 处理 Stroke 事件时,应擦除由于笔移动而流动的墨迹。
当 InkCollectionMode 设置为 GestureOnly (通过 CollectionMode 属性) 设置时,用户添加手势和 手势 事件发生之间的超时是一个固定值,无法以编程方式更改。 在 InkAndGesture 模式下,手势识别速度更快。 若要防止在 InkAndGesture 模式下收集墨迹,可以:
- 将 CollectionMode 设置为 InkAndGesture。
- 在 Stroke 事件中,删除笔划。
- 在 “手势” 事件中,处理手势。
- 将 DynamicRendering 设置为 FALSE。
墨迹收集器始终创建笔划 (InkOnly 模式) 或手势 (GestureOnly 模式) ,有时 (InkAndGesture 模式) 创建。
每种模式的典型方案如下所示。
- InkOnly:
- CursorInRange 事件触发。
- NewInAirPackets 事件触发。
- CursorDown 事件触发。
- NewPackets 事件将触发。
- IInkStrokeDisp 对象已创建。
- CursorOutOfRange 事件触发。
- GestureOnly:
- CursorInRange 事件触发。
- NewInAirPackets 事件触发。
- CursorDown 事件触发。
- NewPackets 事件将触发。
- 创建 IInkGesture 对象,或者,如果光标移动不表示手势,则不会发生任何操作。
- CursorOutOfRange 事件触发。
注意 在此模式下接受单笔划或多笔划手势。 - InkAndGesture:
- CursorInRange 事件触发。
- NewInAirPackets 事件触发。
- CursorDown 事件触发。
- NewPackets 事件将触发。
- 创建 IInkGesture 对象或 IInkStrokeDisp 对象。
- CursorOutOfRange 事件触发。
注意 在此模式下,仅接受单笔划手势。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP Tablet PC Edition [仅限桌面应用] |
最低受支持的服务器 | 无受支持的版本 |
标头 | msinkaut.h |