shellhandwriting.h 标头

允许在任何文本编辑控件上或附近使用笔墨迹书写,而无需先将焦点设置到控件上。 系统确定意向、标识输入目标、呈现墨迹笔划、将墨迹识别为文本 (或用于修改文本) 的笔势、建议文本候选项(如果可用),并将新的或修改的文本插入控件的编辑字段。

此标头由 Ink 输入使用。 有关详细信息,请参阅:

文本服务框架 (TSF) 和 UI 自动化 (UIA) 都用于支持 ShellHandwriting 功能。

以下步骤介绍用于 ShellHandwriting 功能的基本过程。

  1. 选择退出决定: 确定应用程序是否支持 ShellHandwriting。 通常,没有可靠的UI 自动化 (UIA) 实现或具有自定义墨迹处理的应用程序。
  2. 意向确定: 如果应用支持 ShellHandwriting,系统会确定是应将笔下指针输入传递到应用还是用于手写。
  3. 点击确定: 如果笔输入应用于手写,请测试输入是否由可操作的控件 ((如按钮)接收,该控件) 采用输入优先级,以及是否可以找到能够接收文本 (编辑、ComboBox 或文档类型的控件,) 已启用,而不是只读,并且能够接受键盘焦点。
  4. 目标确定: 如果输入可用于手写,则会在输入的一部分周围创建一个边界框,以确定最适合接收墨迹识别结果 (目标确定) 的编辑控件。
  5. 最终确定: 标识目标编辑控件并指定焦点时,在墨迹识别结果复制到控件之前,将使用各种其他上下文指示器 (,例如输入范围、语言、现有文本边界矩形) 来确认适当性。

shellhandwriting.h 包含以下编程接口:

接口

 
IHandwritingInputRoutingCallback

提供输入路由支持,用于将笔输入处理系统线程与输入目标的 UI 线程分开。
ITfDetermineProximateHandwritingTargetArgs

提供手写响应行为和近似目标信息。
ITfFocusHandwritingTargetArgs

提供手写响应行为和目标信息。
ITfHandwriting

支持在任何近似编辑字段上使用笔输入墨迹,而无需先将焦点设置为编辑控件。 墨迹笔划呈现,手写识别 (作为文本或编辑手势) 执行,并将文本输入到编辑字段中。
ITfHandwritingRequest

应用程序必须使用此接口来通知系统,它们已评估手写请求后发生的笔输入。
ITfHandwritingSink

支持在焦点设置为编辑字段之前指定自定义手写行为的功能。

函数

 
GetHandwritingStrokeIdForPointer

检索与指定指针 ID 关联的墨迹笔划的唯一 ID。
RegisterHandwritingInputRoutingCallback

枚举

 
TfHandwritingFocusTargetResponse

指定在调用 FocusHandwritingTarget 函数时,实现 IHandwritingInputRoutingCallback 接口的客户端如何响应。
TfHandwritingState

指定系统如何处理手写。
TfInputEvaluation

指定应如何识别笔输入。
TfProximateHandwritingTargetResponse

根据手写目标对象的近似位置指定支持的手写行为。