1. 程式人生 > >soui edit passwrod模式下禁用輸入法

soui edit passwrod模式下禁用輸入法

set 不能 是我 原因 iat 變量 模式 oci 回來

一直在用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就可以了

soui edit passwrod模式下禁用輸入法