IMIoctl 子例程
用途
执行对输入方法的各种控制或查询操作。
库
输入方法库 (libIM.a)
语法
描述
IMIoctl 子例程对 IM 参数指定的输入方法执行各种控制或查询操作。 此外,这个子例程可以用来控制每种语言输入法的唯一函数,因为它提供了特定于输入法的扩展。 每种输入方法都定义了自己的函数。
参数
- IM
- 指定输入方法实例。
- 操作
- 指定操作。
- argument
- 此参数的使用取决于执行以下哪些操作。
- IM_Refresh
- 通过调用所需的回调函数 (如果这些区域不为空) 来刷新文本区域,辅助区域和指示符。 不使用 自变量 参数。
- IM_GetString
- 获取当前预编辑字符串。 自变量 参数指定调用者提供的 IMSTR 结构的地址。 调用回调函数以清除预编辑 (如果存在)。
- IM_Clear
- 清除文本和辅助区域 (如果存在)。 如果 Argument 参数不是空值,那么此操作将调用回调函数来清除屏幕。 键盘状态保持不变。
- IM_Reset
- 如果辅助区域当前存在,请将其清除。 如果 Argument 参数是空值,那么此操作仅清除输入方法的内部缓冲区。 否则,将调用 IMAuxHide 子例程,并且输入方法将返回到其初始状态。
- IM_ChangeLength
- 更改预编辑字符串的最大长度。
- IM_ChangeMode
- 将输入方法的处理方式设置为 Argument 参数指定的方式。 参数 的有效值为:
- IMNormalMode
- 指定预编辑的正常方式。
- IMSuppressedMode
- 禁止预编辑。
- IM_QueryState
- 返回文本区域,辅助区域和指示符的状态。 它还会返回蜂鸣声状态和处理方式。 结果存储在调用者提供的 IMQueryState 结构中,该结构由 Argument 参数指向。
- IM_QueryText
- 返回有关文本区域的详细信息。 结果存储在调用者提供的 IMQueryText 结构中,该结构由 Argument 参数指向。
- IM_QueryAuxiliary
- 返回有关辅助区域的详细信息。 结果存储在调用者提供的 IMQueryAuxiliary 结构中,该结构由 Argument 参数指向。
- IM_QueryIndicator
- 返回有关指示符的详细信息。 结果存储在调用者提供的 IMQueryIndicator 结构中,该结构由 Argument 参数指向。
- IM_QueryIndicatorString
- 返回对应于当前指示符的指示符字符串。 结果存储在调用者提供的由参数指向的IMQueryIndicatorString结构中。 调用者可以使用IMQueryIndicatorString结构中的 format 成员请求短表或长表。
- IM_SupportSelection
- 通知输入方法应用程序是否支持辅助区域选择列表。 应用程序必须支持辅助区域内的选择,并确定选择的显示方式。 如果未执行此操作,那么输入方法假定应用程序不支持辅助区域选择列表。
返回值
IMIoctl 子例程向 IMError 全局变量返回一个值,该值指示迂到的错误类型。 /usr/include/imerrno.h 文件中提供了一些错误类型。