输入法不能固定。在一项(如姓名、毕业学校)(Tedit)中调整好输入法并输入信息后,当跳到下一个输入项(Tedit)时输入法又还原为默认的输入法,又要再重新调整输入法,导致输入信息很不方便。
我看用别的软件的时候就没有这样的问题,别的软件只要调好了输入法在同一个页面都是能固定该输入法的。
请问怎么解决,最好有控制代码。

解决方案 »

  1.   

    默认设置就可以了,除非你修改了TEdit默认的输入法设置。
      

  2.   

    哦,你是这个意思啊~~~~可以使用下面的代码一次性全部指定:
    procedure TForm1.FormCreate(Sender: TObject);
    var
      I: Integer;
    begin
      for I := 0 to ComponentCount - 1 do
        if Components[I] is TEdit then
        begin
          TEdit(Components[I]).ImeMode := imChinese;
          TEdit(Components[I]).ImeName := '紫光拼音输入法';
        end;
    end;
      

  3.   

    to : cuteant(我这张旧床票还能否登上你的破床|涛声是否依旧) 
    非感谢你,可否改成下面的
    procedure TForm1.FormCreate(Sender: TObject);
    var
      I: Integer;
    begin
      for I := 0 to ComponentCount - 1 do
        if Components[I] is TEdit then
        begin
          TEdit(Components[I]).ImeMode := imChinese;
          TEdit(Components[I]).ImeName := 当前系统所用的输入法;  //????
        end;
    end;
    // 当前系统所用的输入法 是随机的,不是在代码里写死的,
    // 是用户进行输入法选择的时候进行设置
      

  4.   

    不知道你顶楼说的输入法是怎么设置的把其他Edit的输入法都设得和它一样就可以了,比如Edit1var
      I: Integer;
    begin
      for I := 0 to ComponentCount - 1 do
        if Components[I] is TEdit then
        begin
          TEdit(Components[I]).ImeMode := Edit1.ImeMode;
          TEdit(Components[I]).ImeName := Edit1.ImeName;
        end;
    end;
      

  5.   

    to : cuteant(我这张旧床票还能否登上你的破床|涛声是否依旧) 
    // 当前系统所用的输入法 是随机的,不是在代码里写死的
    是指用户此时选择的输入法,
    如用户在EDIT1中使用的是'智能ABC’,那他到edit2中要默认也是'智能ABC’,
    但是如果用户在EDIT1中使用的是‘五笔’,那他转到到edit2中要默认也是'五笔’,
      

  6.   

    那就是我在二楼说的,默认就可以了啊,你不要修改TEdit的输入法设置
    或者用下面的代码来还原默认设置:procedure TForm1.FormCreate(Sender: TObject);
    var
      I: Integer;
    begin
      for I := 0 to ComponentCount - 1 do
        if Components[I] is TEdit then
        begin
          TEdit(Components[I]).ImeMode := imDontCare;
          TEdit(Components[I]).ImeName := '';
        end;
    end;