我要用TAB键把光标从
EDIT1跳到EDIT2
如何实现?

解决方案 »

  1.   

    设置TAB顺序时EDIT2放在EDIT1后面即可。
      

  2.   

    Edit1.TabOrder:=0;
     Edit2.TabOrder:=1;
      

  3.   

    利用TabOrder值吧。
    EDIT2比EDIT1的TAGORDER值大一就行了。
      

  4.   


     Edit1.TabOrder:=X;
     Edit2.TabOrder:=X+1; 按TAB 主要是根据 TabOrder 顺序进行跳动
      

  5.   

    因为EDIT太多,
    而且它们不同一个PANEL、GROUPBOX等容量控件上,
    所以要设TABORDER的值很麻烦的。
    我想要在EDIT1的事件中写代码实现,我应该在哪个事件中写代码?
    怎样写?
      

  6.   

    To wooden954(wooden) 
    但我不知在那个事件中写啊?
      

  7.   

    Edit1.TabOrder:=0;
     Edit2.TabOrder:=1;
      

  8.   

    不需要写代码啊,在设计时把控件的TabOrder设置好就行,从第一个到最后一个依次从0到最大
      

  9.   

    最好是在edit的keypress中加
    if Key = #13 then
       begin
          Key := #0;
          PostMessage(GetActiveWindow,WM_KEYDOWN,VK_TAB,0);
       end;
    用回车来执行tab功能
      

  10.   

    各位要注意:
    不在相同容器控件(比如panel)上的DEIT是不能用TabOrder来排序的。想把光标通过TAB 键从DEIT1 移到 DEIT3 但如下代码并不能实现:procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
    if Key = #0 then
       begin
          edit3.SetFocus;
       end;
    end;怎办啊?
      

  11.   

    easy:::用OnExit
    procedure TForm1.Edit1Exit(Sender: TObject);
    begin
          edit3.SetFocus;
    end;
      

  12.   

    直接用一个循环不就可以了吗?
    对控件个数。设置一下  TABORDER
      

  13.   

    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Char ;
    Shift: TShiftState);
    begin
    if Key = VK_TAB and edit1.Focused then
       begin
          edit3.SetFocus;
       end;
    end;
      

  14.   

    To yurenjf(极限) 不行啊