一直在用soui做客户端界面,今天发现密码edit在中文输入法下不能输入密码。我在想难道不是这样吗,密码就该用英文输入法啊。
然后我就用mfc的做了个demo,发现mfc的edit在密码模式下是可以用中文输入法输入密码的。研究了后发现是直接禁用了输入法。
于是我就知道了原因。
我就直接在soui里的richedit控件里加了点代码。修复了这个bug,(也不知道算不算bug)。手机打字,就不上代码了。
先添加成员变量 HIMC m_hIMC
在OnSetFocus 函数最后 添加
if m_dwStyle & ES_PASSWORD
m_hIMC = ImmAssociateContext(GetContainer()->GetHostWnd(). NULL)
在OnKillFocus 最后
设置 回来 m_hIMC就可以了
时间: 2024-11-09 18:19:20