R
rice
Unregistered / Unconfirmed
GUEST, unregistred user!
我想在程序中动态的改变输入法,现在出现了一点小麻烦。<br>我用了两个Tedit组件,当激活其中一个时,自动切换中文<br>输入法;当某一个失去输入焦点时,自动换成英文输入法。<br>程序如下:<br>procedure TForm1.Edit1Enter(Sender: TObject);<br>var<br> myhkl: hkl;<br> i: integer;<br>begin<br> if screen.Imes.Count <> 0 then <br> begin<br> i:= screen.Imes.IndexOf('全拼输入法'); <br> if i >= 0 then<br> begin<br> myhkl:= hkl(screen.Imes.Objects);<br> activatekeyboardlayout(myhkl,KLF_ACTIVATE); <br> end;<br> end;<br>end;<br><br>procedure TForm1.Edit1Exit(Sender: TObject);<br>var<br> myhkl: hkl;<br>begin<br> myhkl:= getkeyboardlayout(0);<br> if ImmIsIME(myhkl) then <br> immsimulatehotkey(handle,IME_CHOTKEY_IME_NONIME_TOGGLE); <br>end;<br>注:两个Tedit的onEnter和OnExit事件共用。<br> 即设置edit2的onenter为edit1的onenter;onexit为edit1的onexit.<br>