输入法编程学习笔记
启程输入法的作者有一篇文章,介绍了输入法编程编码的入门知识,并提供了一个输入法程序框架源代码,强烈推荐[http://www.setoutsoft.cn/Html/?256.html]
IME是什么?IME是在Windows平台上使用的标准的输入法接口规范。
编写输入法程序(非外挂式)就是实现指定的接口并在DLL中到处这些接口函数供系统调用。
以下为接口函数名称及描述,原型及实现请参照启程输入法作者提供的源代码
ImeConfigure // 显示输入法设置(属性)窗口
ImeDestroy // 输入法销毁时调用
ImeEscape // 未知,貌似不重要
ImeInquire // IME初始化时调用,设置IME属性,告诉系统输入法窗口的ClassName
ImeProcessKey // 判断是否处理当前输入(按键)
ImeSelect // 输入法切换
ImeSetActiveContext // 输入上下文激活或取消激活或输入上下文改变(比如从一个窗口到另一个窗口)
ImeSetCompositionString
ImeToAsciiEx // 在这里实现把用户输入的拼音或五笔字根转化为汉字
NotifyIME // 由应用程序发给输入法的消息,输入法可以在此响应用程序的请求(具体如何使用,我还不知道)
ImeRegisterWord // 向输入法字典注册字符?没搞明白呢
ImeUnregisterWord
ImeGetRegisterWordStyle
ImeEnumRegisterWord
UIWndProc // 输入法消息处理函数(一般显示在状态栏通知区域的那个图标)
StatusWndProc // 状态条消息处理函数
CompWndProc // 输入窗口
CandWndProc // 候选词窗口消息处理函数
我觉得看了启程输入法作者提供的源码之后就可以了解IME编程,剩下的就是自己的逻辑处理了……