手册

WinCE输入法的调用与控制

569
文子
2020-07-24 10:41:33
开启/关闭输入法:
SipShowIM(SIPF_OFF);
SipShowIM(SIPF_ON);


在外部切换输入法模式:
消息定义:
#define WM_IME_CHOOSE WM_USER + 0x0310

窗口获取方法:
HWND  hImeWnd = GetWindow(FindWindow(L"SipWndClass", NULL), GW_CHILD);

SendMessage(hImeWnd, WM_IME_CHOOSE, 输入模式ID, 0);

输入模式定义:
#define DWIME_PY     0x300 // 拼音
#define DWIME_BH     0x301 // 笔画
#define DWIME_ENG     0x304 // ABC
#define DWIME_123     0x306 // 数字、符号(自动判断,如果前一个键盘是中文这时符号就是中文符号,如果前一键盘是英文这时符号就是英文符号)
#define DWIME_HW     0x307 // 手写识别
#define DWIME_CNSYMB    0x330       // 中文符号
#define DWIME_ENSYMB    0x331       // 英文符号

输入法的广播消息: 

接收输入法改变的消息 : 当输入法隐藏、显示、输入模式改变,会发出 InputModeChangeMessage 消息

消息注册:RegisterWindowMessage(L"InputModeChangeMessage");

发送方式:PostMessage

参考说明:wParam : 1 表示显示,0 表示隐藏或关闭,2 表示切换输入模式
         lParam : 当前输入模式

lParam 可以是如下值:
'ABC'   // 实体 9 宫格里的大写字母
'abc'   // 实体 9 宫格里的小写字母
'py'    // 拼音
'bh'    // 笔画
'hw'    // 手写
'Abc'   // 虚拟键盘里的 英文字母
'123'   // 数字