我在A窗體裡面用五筆輸入發輸入數據,在其中一個欄位要彈出一個B窗體進行參數選擇,後返回A窗體,可是這時A窗體的輸入法已經是英文輸入法了,而不是五筆輸入法,請問是怎麼回事?該怎麼處理才能保持為原來的五筆輸入法?

解决方案 »

  1.   

    有可能是DBGRID或DBGRIDEH的问题
    你可以在保存切换之后的输入法
    然后在相应的ONEXIT事件里面取得当前输入法
      

  2.   

    我彈出的B窗體的輸入法是英文的,返回A窗體後我還要得到A窗體原來的五筆輸入法。請大家繼續發力!關注中!!
      

  3.   

    不知道怎麼樣保存輸入法哦,imename,imemode 都是不行的了,誰有成功的經驗分享一下啊!!!
    關注中哦...........
      

  4.   

    http://blog.csdn.net/nhconch/archive/2004/10/26/153195.aspx
    我看到你打的是繁体,记得把IME_CHOTKEY_IME_NONIME_TOGGLE改成IME_THOTKEY_IME_NONIME_TOGGLE
      

  5.   

    謝謝大家參與和幫助,這個問題我找到了別的答案,分享給大家:获得当前的输入法.
    var
        myhkl:hkl;
    begin
      myhkl:=GetKeyBoardLayOut(0);
    end;....
    begin
      if myhkl<>0 then begin
        activatekeyboardlayout(myhkl,KLF_ACTIVATE);//KLF_ACTIVATE);//设置相应的输入法
    end;以上代码为了适合你的要求时,需把 myhkl定义为全局变量.
      myhkl:=GetKeyBoardLayOut(0);
    写在改变输入法的地方,如你的:"我在员工录入窗口时打开“智能ABC”,然后关闭该窗口"
    在关闭窗口的时候写上它.  if myhkl<>0 then begin
        activatekeyboardlayout(myhkl,KLF_ACTIVATE);//KLF_ACTIVATE);
    写在要用到的地方,如写在你的"工资管理窗口"的show事件里.