在ComboBox的OnClick事件中
取得当前所有的输入法放入ComboBox中

解决方案 »

  1.   

    用个Timer控件,定时刷新吧!
    ComboBox.Items := Screen.Imes;
      

  2.   


    不行,问题是 Screen.Imes没有变化呀
      

  3.   

    关键是Screen.Imes 没有被刷新,所以OnClick、OnDropDown 都不作用
      

  4.   

    procedure TForm1.ComboBox1DropDown(Sender: TObject);
    var
      i:integer;
    begin
      ComboBox1.Clear;
      for i:=0 to Screen.Imes.Count-1 do
        ComboBox1.Items.Add(Screen.Imes.Strings[i])
    end;
      

  5.   

    procedure TForm1.Button1Click(Sender: TObject);
    Var
      i:Integer;
    begin
     Memo1.clear;
     for i:=0 to Screen.Imes.Count-1 do
       Memo1.Lines.Add(Screen.Imes.Strings[i]);
     Label1.Caption:=Screen.DefaultIme;
    end;
      

  6.   

    Screen.Imes 没有被刷新,取出来的还是原来那几种输入法,新添加的没有在里面,所以放入
    ComboBox也就体现不出变化了
      

  7.   

    动态创建一个Screen对象
    Try it.
      

  8.   

    procedure TForm1.ComboBox1DropDown(Sender: TObject);
    var
      i:integer;
      SC:TScreen;
    begin
      SC:=TScreen.Create(self);
      ComboBox1.Clear;
      try
        for i:=0 to SC.Imes.Count-1 do
          ComboBox1.Items.Add(SC.Imes.Strings[i]);
      finally
        SC.Free;
      end;
    end;我没试过,只是我的想法
      

  9.   

    动态创建一个Screen对象,OKOKOKOKThank you!!!!!