WinCE输入法操作

使用过 Access 的人都知道当焦点处在某一列时输入法被自动切换成表设计时所选输入法,这给用户操作带来了方便的同时也显示了程序的专业性;目前绝大多数手机都具备了如 Access 那样的功能(如在 iPhone 手机上当要求用户输入数时系统自动调出数字输入法,而当要求用户输入英文时则系统自动调出英文输入法等)。

VC6 中通过修改注册表的相关项来实现输入法的控制(如有兴趣请参见 VC6 输入法控制);然而我们发现用同样的方法在 WinCE 下并不起用作,但 WinCE 为我们提供了一套更方便的输入法控制 API ;这些 API 简要功能说明如下:

SipEnumIM :枚举系统中已安装输入法

SipGetCurrentIM :获取当前输入法

SipSetCurrentIM :设置当前输入法

SipShowIM :显示或隐藏软键盘

下面是本人写的一个用于 WinCE 输入法操作类,基头文件内容如下:

//InputCtrl.h

#ifndef INPUTCTRL_H

#define INPUTCTRL_H

 

typedef struct tag_InputNode

{

       TCHAR pName[MAX_PATH];

       CLSID rCLSID;

}INPUTNODE,*PINPUTNODE;

 

class CInputCtrl

{

public :

       CInputCtrl( );

       virtual ~CInputCtrl( );

public :

       int GetCurrentIM( PINPUTNODE pOut );

       int SetCurrentIM( PINPUTNODE pIn );

       int ShowIM( bool bShow = true );

       int GetInstallIMCount( void );

       int GetIMAtIndex( int nIndex, PINPUTNODE pOut );

       int FindIMByName( const TCHAR* pName, PINPUTNODE pOut );

};

 

#endif

注: CinputCtrl 类适应与 EVC VS2005 VS2008 等,同时也在 EVC VS2005 VS2008 上测试通过;对于本类的使用方法请参见本文对应例子代码。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值