RT,
在VB里使用发送键来实现,在delphi不知怎样实现。

解决方案 »

  1.   

    在keydown事件里
    if (key = 13) or (key = 40) then // 判断是按执行键
      begin
        key := 0;
        perform(WM_NEXTDLGCTL, 0, 0); //移动到下一个控件
      end;
      

  2.   

    procedure TForm.FormKeyPress(Sender: TObject; var Key: Char);
    begin
        if (Key = #13) then    SelectNext(ActiveControl, True, True);
    end;
      

  3.   

    KeyPress事件:
      if key=#13 then
      begin
        if not (Activecontrol is Tdbgrid) then
        begin
          key:=#0;
          perform(WM_NextDLGCTL,0,0);
        end;
      end;
      

  4.   

    需要用回车键代替TAB键下移一个控件时,把KeyPress设为True,加入下列代码拦截击键:
    Procedure TForm1.FormKeyPress(Sender:Tobject;Var Key:Char);
    Begin
     if key=#13 then { 判断是按执行键}
     if not (ActiveControl is TDbgrid) Then
     Begin { 不是在TDbgrid控件内}
      key:=#0;
      perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}
     end else
     if (ActiveControl is TDbgrid) Then{是在 TDbgrid 控件内}
     begin
      With TDbgrid(ActiveControl) Do
      if Selectedindex<(FieldCount-1) then  Selectedindex:=Selectedindex+1{ 移动到下一字段}
      else Selectedindex:=0;
     end;
    End; 
      

  5.   

    最简单的方法,调整控件的TabOrder属性就可以了。
    比如,你的edit1的TabOrder为1
    那么edit2的TabOrder为2就可以了。
      

  6.   

    PostMessage(FormName.Handle,WM_KEYDOWN,VK_TAB,0);
      

  7.   

    最简单的!页面上有两个Edit控件,
    把Edit1的TapOrder属性设置成0
    把Edit2的TapOrder属性设置成1
    这样当焦点在Edit1时,单击Enter键,焦点就会自动转移到Edit2上了
    不知道这样是不是你想知道的!!