我现在做的程序在输入数据时假如切换的某一种输入法输入数据,正常,当把这一个单据关闭,在打开其它单据,系统的输入法又变成了英文,就是如何输入法确定!不用来回切换!也不能定死是某一种输入法!

解决方案 »

  1.   

    在窗体激活的时候将控件的imename属性统一设置为一样,或者为空
      

  2.   

    好象要改所有control的imename属性吧。
      

  3.   

    如果你用到了dbgrid,别忘了将其inherited一下,他里边有问题
    procedure TCustomDBGrid.WMKillFocus(var Message: TMessage);
    begin
      if SysLocale.FarEast then inherited
      else
      begin
        ImeName := Screen.DefaultIme;
        ImeMode := imDontCare;
        inherited;
        if not ((InplaceEditor <> nil) and
          (HWND(Message.WParam) = InplaceEditor.Handle)) then
          ActivateKeyboardLayout(Screen.DefaultKbLayout, KLF_ACTIVATE);
      end;
    end;
      

  4.   

    我的焦点转移到另外一个Edit的时候,如果支持中文的输入!我想继续保持原来的输入法,如何实现?