2024年3月21日发(作者:)
//================================================
========================
//TITLE:
// 漫谈WinCE输入法的编写(一)
//AUTHOR:
// norains
//DATE:
// Saturday 10-February -2007
//Environment:
// EVC4.0 + Standard SDK
//================================================
========================
WinCE的输入法编写,说复杂也不复杂,说简单亦不简单.说复杂嘛,是因为输入法是
一个COM,需要实现某些接口,并且由于其特殊性,不能像普通应用程序一样进行调试;说简
单嘛,只要把层次搞清,剩下的就和普通应用程序没什么太多的区别.
我觉得如果光谈概念,以我的文字功底,让人明白内中的机理,估计不是一件非常容易
的事情.所以,我还是实际点,以我写过的一个输入法来做为例子.
因为这篇文章不是专门介绍COM接口技术的原理,我们的目的仅仅是让输入法给
跑起来,因此我们只需要了解输入法用到了什么接口,以及我们应该如何定义该接口的功能
即可.
为了代码层次分明,我这个例子采用了三个类:CClassFactory,CInputMethod和CI
MWnd.前面两个类分别继承于IClassFactory和IInputMethod,是能让系统正常调用输入
法所必须的com接口;而CIMWnd则是输入法的窗口,和普通的应用程序无异.
这三个类的关系是CClassFactory通过自身的CreateInstance()函数来创建一个C
InputMethod类的对象,然后CInputMethod类中会调用CIMWnd类来显示一个输入法
窗口.以图片的形式来说,三者的关系如下:


发布评论