主题:SOUI密码框屏蔽输入法

admin 2018年12月08日 201

我们在使用edit密码框的时间,为了不允许在密码框中输入中文可以做以下处理: 

Windows提供了这个接口来屏蔽输入法;ImmAssociateContext: 

首先,引入头文件跟库文件:

#include <Imm.h>
#pragma comment(lib, "imm32.lib")

其次,就是ImmAssociateContext函数的使用, 

定义一个全局的HIMC变量

HIMC g_hIMC = NULL;

在需要禁用的地方调用如下:

g_hIMC = ImmAssociateContext(this->m_hWnd, NULL);

在需要启用的地方调用如下:

ImmAssociateContext(this->m_hWnd, g_hIMC);

具体可以在edit密码框获取焦点时禁用输入法,当edit密码框失去焦点时启用输入法; 

处理可以分别在edit的EventSetFocus事件跟EventKillFocus事件中。