如何显示本机的输入法,员工希望在edit输入时指定输入法,不要切换

解决方案 »

  1.   

    给你一段代码:
    procedure TSetImeFrm.GetImeList(List: TStrings);
    var i:integer;
    begin
      for i:=0 to screen.imes.count-1 do
      begin
        if i=0 then
        begin
          ImeNameS:=screen.Imes.strings[i];
        end;
        List.Add(screen.Imes.strings[i]);   
      end;
    end;
      

  2.   

    ComboBox1.Items:=Screen.Imes;就可以了,有没有办法得到默认的输入法
      

  3.   

    我们的做法是把员工输入法存入数据库或者本地ini,员工登陆的时候读取,edit onenter设置imes。
      

  4.   

    本地INI最好,数据库就没多大必要了设置默认输入法
    uses TypInfoprocedure SetImeA(AOwner:TForm);
    var
      i:Integer;
    begin
      for i := 0 to AOwner.ComponentCount - 1 do
      begin
        if GetPropInfo(AOwner.Components[i],'ImeName')<>nil then
        begin
          SetPropValue(AOwner.Components[i],'ImeName',
            readinifile(getinifile,'ime','imename',''));
        end;
      end;    
    end;     
      

  5.   

    个人注册同时,保存输入法字符,在每个from的onShow事件中,再设置该用户的输入法。