IMProcess 子例程
用途
处理键盘事件和特定于语言的输入。
库
输入方法库 (libIM.a)
注: 将在将来的发行版中除去此子例程。 使用 IMFilter 和 IMLookupString 子例程来处理键盘事件。
语法
描述
此子例程是操作系统输入方法的主要入口点。 IMProcess 子例程一次处理一个键盘事件。 处理过程如下所示:
- 验证 IM 参数。
- 对所有受支持的修饰符状态执行键盘转换。
- 调用内部函数以执行依赖于语言的处理。
- 根据内部状态执行任何必需的回调函数。
- 返回到应用程序,相应地设置 String 和 Length 参数。
参数
| 项 | 描述 |
|---|---|
| IM | 指定输入方法实例。 |
| KeySymbol | 定义将处理的键盘符号集。 |
| 状态 | 指定键盘的状态。 |
| String | 保存返回的字符串。 返回空值意味着输入由输入方法使用或废弃。 注: String 参数不是以 null 结束的字符串。
|
| 长度 | 存储 String 参数的长度 (以字节计)。 |
返回值
如果发生错误,那么此子例程将返回 IMError 全局变量。 IMerrno 全局变量设置为指示错误。 某些变量值包括:
| 项 | 描述 |
|---|---|
| IMError | 此子例程期间发生错误。 |
| IMTextAndAuxiliaryOff | "文本" 区域中没有文本字符串,并且未显示 "辅助" 区域。 |
| IMTextOn | 文本区域中的文本字符串,但无辅助区域。 |
| IMAuxiliaryOn | "文本" 区域中没有文本字符串,将显示 "辅助" 区域。 |
| IMTextAndAuxiliaryOn | 将显示 "文本" 区域中的文本字符串以及 "辅助"。 |