一片冰心在玉壶

那时我们有梦,关于文学,关于爱情,关于穿越世界的旅行, 如今我们深夜饮酒,杯子碰到一起,都是梦破碎的声音. 交往都是初逢,爱情都在心里,往事都在梦中, 希望都带着注释,信仰都带着呻吟. 总有善意的光逃避现世的繁琐而寻找片刻的安宁, 也许,就是你凝视这里的眼睛

博客园 首页 联系 订阅 管理

这个项目以前的CE下是没有输入法的,最近客户突然要求把中文输入加进去,方便操作。

本以为是件简单的事情,以为把几个组件加去就就可以了。

于是我像网上说的那样加入组件:

 Agfa AC3 Font Compression
SimSun & NSimSun (Subset 2_50)
GB18030 Data Converter
1.1 MB - Minimal Database
MSPY2 for Windows CE
Pocket IME
Double Spelling (Shuang Pin)

SIP for Small Screens
Software-based Input Panel Driver

 

在应用程序中的文本框里加入:

 SHSipPreference(m_hWnd, SIP_UP);//弹出输入面板

最后文本框得到焦点时是能弹出软键盘,可点那个“拼”字就是不好使,怎么输入都不行,可数字与英语能输进去。然后我就在CSDN及GOOGLE里找呀。找得我好多天,都没有合适的答案。只是有人提起过wordpad

于是我就把Wordpad组件加进去。编译,运行……

进去CE,打开WORDPAD,那输入法状态可算看到了。可以输入中文,只是有点慢,一个字一个字的输入。那软键盘的拼音还是用不了。

为什么我的应用软件的那个文本框不能输入中文呢?只有一个原因:没有调出输入法,只是把软键盘调出来了而以。。。。。

加入:ImmSimulateHotKey(hEdit,IME_CHOTKEY_IME_NONIME_TOGGLE)

可是还是调不出输入法,这可是MFC里的呀。为什么没用?在网上找呀找,查呀查,还是不知道所以然。

SHSipPreference(m_hWnd, SIP_UP);//弹出输入面板

ImmSimulateHotKey(hEdit,IME_CHOTKEY_IME_NONIME_TOGGLE)

以上两个函数我是在文本框得到焦点时触发的。可是为什么不起作用?这个问题至今我也不知道为什么。

后来无意中发现:当在对话框中加一个BUTTON,在BUTTON下:

SHSipPreference(m_hWnd, SIP_UP);//弹出输入面板

ImmSimulateHotKey(hEdit,IME_CHOTKEY_IME_NONIME_TOGGLE)

GetDlgItem(IDC_EDIT!)->SetFoucs();

这个时候居然能把输入法状态条给调出来,真是奇了怪了!MS的是里面写的是什么破代码。WINCE 4.2真是垃圾。我在我自己的开发板上都试过了。添加几个组件输入法就能用......。。。。

看用是CE4.2的问题呀。。。

在CSDN里面,有很多出现过我一样问题的

这里总结得比较全面:http://topic.csdn.net/u/20091015/13/c834c108-4e70-4961-a2dd-25aac0f4730e.html

还有这位comey兄弟解决了,可是对我不管用:http://topic.csdn.net/u/20090723/18/19dacf1f-e206-43c1-b276-69bcd1c5158e.html?68058 还是得谢谢他关注自己发起过的话题。谢谢!

对于为什么微软的拼音输入法点“拼”打不出字,点“韵”没反应,还要请高人做答,我只能说这可能是CE4.2的一个BUG?

 

唉!看似简单的输入法,原来也是这么麻烦!呜呼!没有天理吧!

posted on 2009-10-19 16:55  Sankye  阅读(3293)  评论(1编辑  收藏  举报