Windows 输入法编辑器 (IME)

Windows 输入法编辑器 (IME)

原著 :Microsoft

一、关于 Windows 混合语言 IME Windows ,IME 是一个动态链接库 (DLL), Windows 3.1 远东版本 IME 不同的是 ,每一个运行的 IME 相当于混合语言键盘布局中的一种。与 Windows 3.1 IME 相比较 ,Windows 混合语言 IME 提供下列增强功能 :

运行时相当于混合语言环境的一个部件
为每一个应用程序任务提供多重输入上下文

为每一个应用程序线程提供一个活动的 IME

通过应用程序消息循环给应用程序提供信息 ( 消息顺序不能改变 )●为无 IME 支持应用程序和部分 IME 支持应用程序提供有力的支持
要得到全部的增强功能 ,应用程序需要支持 Windows IME 应用程序 I / F

本文档描述了 Windows IME 体系结构的应用程序 I / F

1
IME 的结构

Windows 95 IME
必须提供两个部件 :IME 转换接口和 IME 用户接口。 IME 转换接口由一组 IME 模块引出函数提供 ,这些函数被 IMM( 输入法管理器——译者注 ) 调用。 IME 用户接口由一组窗口提供 ,这些窗口接收消息并提供 IME 的用户界面。

2
IME 支持应用程序 (IME 感知应用程序——译者注 )

应用程序有下列类型 :

IME 支持应用程序 : 这种应用程序不控制 IME,然而 ,如果应用程序接受 DBCS 字符 ,用户可以通过 IME 在应用程序中输入 DBCS 字符。
部分 IME 支持应用程序 : 这种应用程序只控制不同的 IME 上下文 ,例如打开和关闭 IME 、写作窗口等等 ,但是不重新显示任何 IME 用户界面。

完全 IME 支持应用程序 : 这种应用程序负责管理通过 IME 显示给应用程序的任何信息。

Windows 95 ,一个无 IME 支持应用程序有一个缺省的 IME 窗口和一个缺省的输入上下文。

部分 IME 支持应用程序使用预定义的“ IME ”类创建自己的 IME 窗口 ,可以管理或者不管理自己的输入上下文。

完全 IME 支持应用程序自己管理输入上下文 ,显示输入上下文给出的任何需要的信息 ,不使用 IME 窗口。


二、 IME 用户界面


IME
用户界面包括 IME 窗口、用户界面 (UI) 窗口以及 UI 窗口的部件。

1
、特征

IME
类是实现 IME 用户界面部分的预定义全局窗口类。“ IME ”类与预定义的公共控制窗口类有许多相同的特点 ,IME 窗口实例与静态控制一样通过 CreateWindowEx 函数创建 ,IME 类窗口自己不响应用户输入 ,取而代之的是接收不同类型的控制消息实现全部 IME 用户接口。应用程序可以使用 IME 类创建自己的 IME 窗口 ,还可以使用 ImmGetDefaultIMEWnd 函数获取缺省 IME 窗口。创建自己的 IME 窗口或者使用缺省 IME 窗口的应用程序被称为 IME 支持应用程序 ,具有以下优点 ( 与对应的 Windows 3.1 应用程序比较 ):

包括候选字列表窗口 ( 候选窗口 ),每一个应用程序可以有自己的用户界面窗口实例 ,使得用户可以在任何输入过程的中途停止并切换到另一个应用程序。在 Windows 3.1 日文版本中 ,用户切换到另一个应用程序是必须放弃当前输入过程。
因为 IME 用户界面窗口包括应用程序窗口句柄 ,IME 用户界面窗口可以为应用程序提供缺省行为。例如当应用程序移动时 IME 用户界面窗口自动移动 ,自动跟随窗口中的插入符号位置 ,为每一个应用程序标示模式等等。

即使系统仅仅只提供一个 IME ,IME 窗口仍然有两种类型。一种类型是系统为无 IME 支持应用程序创建的 IME 窗口 ,DefWindowProc 函数为该窗口处理消息 ,DefWindowProc 函数的 IME 用户接口被线程的所有无 IME 支持窗口共享 ,在文档中 ,这种窗口称为缺省 IME 窗口。另一种类型是 IME 支持应用程序创建的 IME 窗口 ,在文档中 ,IME 支持应用程序创建的 IME 窗口称作应用程序 IME 窗口。

2
、缺省和应用程序 IME 窗口

当线程初始化时系统创建缺省 IME 窗口 ,这就是说 ,线程自动获取缺省 IME 窗口。缺省 IME 窗口为无 IME 支持应用程序提供 IME 用户界面 , IME

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值