InkRecognizerContext 类

支持执行墨迹识别、检索识别结果和检索备用项的功能。 InkRecognizerContext 使安装在系统上的各种识别器能够使用墨迹识别来正确处理输入。

InkRecognizerContext 具有以下类型的成员:

事件

InkRecognizerContext 类具有这些事件。

事件 说明
识别 当 InkRecognizerContext 已从 BackgroundRecognize 方法生成结果时发生。
RecognitionWithAlternates InkRecognizerContext 在调用 BackgroundRecognizeWithAlternates 方法后生成结果时发生

接口

InkRecognizerContext 类定义这些接口。

接口 说明
IInkRecognizerContext 此对象实现 IInkRecognizerContext COM 接口。

方法

InkRecognizerContext 类具有这些方法。

方法 说明
BackgroundRecognize 指定识别器应识别关联的笔划,并在识别完成后触发 识别 事件。
BackgroundRecognizeWithAlternates 指定识别器应识别关联的笔划,并在识别完成后触发 RecognitionWithAlternates 事件。
克隆 创建重复的 InkRecognizerContext
EndInkInput 结束 InkRecognizerContext 的墨迹输入。
IsStringSupported 指示系统字典、用户词典或 单词列表 是否包含指定的字符串。
Recognize InkStrokes 集合执行识别并返回识别结果。
StopBackgroundRecognition 结束通过调用 BackgroundRecognize 或 BackgroundRecognizeWithAlternates 开始 的背景识别。

属性

InkRecognizerContext 类具有这些属性。

属性 访问类型 说明
CharacterAutoCompletion
读取/写入
获取或设置字符自动完成模式,该模式确定何时识别字符或单词。
Factoid
读取/写入
获取或设置 InkRecognizerContext 对象使用的 factoid 的字符串名称。
指南
读取/写入
获取或设置用于 墨迹输入的 InkRecognizerGuide
PrefixText
读取/写入
获取或设置 InkRecognizerContext 对象中 InkStrokes 集合之前的字符。
RecognitionFlags
读取/写入
获取或设置指定识别器如何解释墨迹并确定结果字符串的标志。
识别器
读取/写入
获取或设置 InkRecognizerContext 对象使用的 IInkRecognizer 对象。
中风
读取/写入
获取或设置与 InkRecognizerContext 对象关联的 InkStrokes 集合。
SuffixText
读取/写入
获取或设置 InkRecognizerContext 对象中 InkStrokes 集合之后的字符。
WordList
读取/写入
获取或设置用于改进识别结果的 InkWordList 对象。

备注

可以通过在 C++ 中调用 CoCreateInstance 方法来实例化此对象。

有两种类型的识别:后台 (异步) 或前台 (同步) 。 背景识别通过调用 BackgroundRecognizeBackgroundRecognizeWithAlternates 方法启动,在后台线程上发生,并通过事件机制向应用程序报告结果。 在完成所有识别之前,前台识别不会返回,因此使识别结果可供调用线程使用,而无需侦听识别事件。

墨迹在后台持续处理。 如果将 IInkStrokeDisp 添加到 InkRecognizerContext 所引用的 InkStrokes 集合,则会立即识别 IInkStrokeDisp。 有关更多详细信息,请参阅 EndInkInput 方法主题中的备注。

所有识别都通过识别器上下文进行。 上下文定义单个识别会话的设置。 它接收必须识别的墨迹,并定义墨迹输入和识别输出的约束。 可在上下文上设置的约束包括正在使用的语言、字典和语法。

注意

仅当 InkStrokes 集合为 NULL 时,设置除 StrokesCharacterAutoCompletion 属性以外的属性才会成功。 在将 InkStrokes 集合附加到 InkRecognizerContext 之前,必须设置其他属性,或者必须将 InkStrokes 集合设置为 NULL ,然后设置其他属性。 如果将 InkStrokes 集合设置为 NULL ,然后设置其他属性,则可能必须重新附加 InkStrokes 集合。 这是因为在将 InkStrokes 分配到 InkRecognizerContext 后立即开始识别。 调用 Recognize 方法 [InkRecognizeContext 类]BackgroundRecognize 时,调用结果可能已可用。

若要提高应用程序的性能,请在不再需要 InkRecognizerContext 对象时释放它。

要求

要求
最低受支持的客户端
Windows XP Tablet PC Edition [仅限桌面应用]
最低受支持的服务器
无受支持的版本
标头
Msinkaut.h (还需要 Msinkaut_i.c)

InkObj.dll

另请参阅

IInkRecognizer 接口

InkStrokes 集合