[PenInputPanel 已被 TextInput 替换。 有关详细信息,请参阅 “对文本输入面板进行编程”。]
从 Microsoft Windows XP Tablet PC Edition 软件开发工具包(SDK)版本 1.0 开始,系统级平板电脑输入面板提供了一种通用机制,用于跨 Windows 平台完成文本输入,尽管它不提供编程访问。 平板电脑 SDK 版本 1.5 PenInputPanel 对象将文本输入工具集成到应用程序中。
下图显示了自动 声明表单示例上显示的笔输入面板。
PenInputPanel 对象对于应用程序开发人员来说很方便。 无需替换现有窗体上的控件。 只需将 PenInputPanel 对象附加到接收文本输入的现有控件,即可开始从 PenInputPanel 对象接收输入。
PenInputPanel 对象采用输入面板中的以下属性的设置:
- 布局
- 墨层厚度
- 识别超时
- 针对东亚装箱输入的框大小、发送方式和其他设置
PenInputPanel 对象不提供对基础墨迹的访问权限。 若要获取墨迹,请使用 InkPicture 控件。
PenInputPanel 对象提供可供应用程序的最终用户轻松发现的就地用户界面(UI)。 当用户使用平板电脑笔点击具有 PenInputPanel 对象的窗口时,它会自动激活。 当系统检测到 PenInputPanel 对象附加到的窗口的 CursorButtonUp 事件时,将自动显示笔输入面板。 通过将 AutoShow 属性设置为 FALSE,可以禁用自动激活。
笔输入面板不会在鼠标事件上自动显示。 使用终端服务时,笔事件将转换为鼠标事件。 PenInputPanel 对象无法通过终端服务连接工作。
笔输入面板输入模式
PenInputPanel 对象允许键盘功能或手写输入,并附加键盘来帮助输入。 笔输入面板的 UI 包括:
- 书写垫
- 东亚语言书写垫
- QuickKeys 键盘
- 内置键盘
输入法的可用性与东亚语言书写板的可用性依赖于用户在操作系统中的默认区域设置。
书写板
书写板类似于熟悉的输入面板 UI。
书写板用于收集最终用户的手写内容。 基本 UI 包括一个书写行,用户可以使用数字笔编写文本。 当用户完成写入并点击“发送”按钮或等待超时发生时,手写将发送到识别器。
在收集上次墨迹笔划后,经过指定时间后,墨迹会被识别。 发生超时时,将从收集表面上删除墨迹,并进行识别。 然后,识别的文本插入到 PenInputPanel 对象所附加到的控件中。
东亚多框板
“东亚”版本的笔输入面板显示用于输入亚洲字符的多框界面。 它提供替代项,类似于输入面板 UI。 用户可以通过点击书写框并从笔输入面板顶部栏中的备用项列表中选择正确的字符来更正错误识别的字符。 筛选器按钮可用于将识别替代列表缩小到指定类型的字符,例如符号。
除了所有语言皮肤通用的迷你快速键外,韩文和日语版的书写板还有一个转换键。
若要在东亚语言的书写板中获取拉丁语字符,请设置 Factoid 属性以提高拉丁字符识别的准确性。 设置 Factoid 对象的 Digit 成员用于数字字符,或 Factoid 对象的 OneChar 成员用于字母和数字字符。
QuickKeys 键盘
笔输入面板提供两个小键盘用于输入符号和数字。
内嵌键盘
笔输入面板为手写识别不足的情况提供了键盘模式。 例如,输入密码或部件号时,使用笔输入面板键盘的用户可能比书写板更成功。 这是因为密码或部件号不太可能位于书写板的识别器字典中。
识别器支持
PenInputPanel 对象支持 Windows XP Tablet PC Edition 版本 1.0 和平板电脑 SDK 版本 1.5 的发货识别器。
自动定位
默认情况下,笔输入面板会自动相对于其附加的控件定位。 它不会重叠控件,除非笔输入面板和控件没有足够的屏幕空间,或者除非开发人员显式设置笔输入面板的位置。
仅当开发人员未使用 MoveTo 方法显式设置位置时,自动定位函数才可正常工作。 若要替代自动定位,请更改 PanelMoving 事件处理程序中的 Top 和 Left 属性的值。
笔输入面板的位置受屏幕边缘的约束。 笔输入面板的边缘距离屏幕的任何边框都不能接近 0.25 英寸。
默认情况下,笔输入面板的顶部显示在它所附加到的控件的底部,并通过 VerticalOffset 属性的值与控件分开。 如果控件下方没有足够的空间,则笔输入面板的底部会显示在它所附加的控件顶部,并通过 VerticalOffset 属性的值与控件保持距离。 如果仍然没有足够的空间,就像全屏编辑控件一样,笔输入面板与控件重叠。
左边缘笔输入面板显示在其所附加的控件的左侧,并由 HorizontalOffset 属性的值与控件保持一定距离,除非被屏幕边界限制。 如果所需位置将笔输入面板置于可用屏幕边界之外,则笔输入面板假定尽可能接近的水平位置。
强制重叠
有时,笔输入面板需要与附加控件重叠,就像全屏编辑控件一样。 在这种情况下,可以使用以下规则确定笔输入面板的自动定位:
- 当插入点位于附加控件的上半部分时,笔输入面板的垂直位置位于屏幕底部,可能将其放置在控件的下半部分。
- 当插入点位于附加控件的下半部分时,笔输入面板的垂直位置位于屏幕顶部,可能将其置于控件的上半部分。
无窗口控件
如果 PenInputPanel 对象附加到无窗口控件,则笔输入面板相对于无窗口控件的父级进行定位。 在 PanelMoving 事件处理程序中设置 Top 和 Left 属性,或使用 MoveTo 方法手动定位笔输入面板。