key:=#0;
  perform(WM_NEXTDLGCTL,0,0);

解决方案 »

  1.   

    if key=#13 then 
     Begin 
      key:=#0;
      perform(WM_NEXTDLGCTL,0,0);
     end
      

  2.   

    procedure TFrmMain.DBedtJoinInKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
        if Key = VK_Return then
        begin
            if Trim(DBedtJoinIn.Text) = '' then
            begin
                DBedtJoinIn.Perform(WM_LButtonDown, 0, 0);
                DBedtJoinIn.Perform(WM_LButtonUp, 0, 0);
            end
            else begin
                DBcmbxCetype.Perform(WM_LButtonDown, 0, 0);
                DBcmbxCetype.Perform(WM_LButtonUp, 0, 0);
            end;
        end;
    end;
    //或一个通用的:记得Edit->Tab Order中各组件的顺序
    procedure TForm1.Tab(Sender: TObject; var Key: Word;Shift: TShiftState);
    Begin
      if (key=VK_Down) or (key=13) then
       SelectNext(ActiveControl,True,True);
      if key=VK_Up then
       SelectNext(ActiveControl,False,True);
      Key:=0;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      Edit_Name. OnKeyDown  = Tab;
      Edit_Age .OnKeyDown = Tab;
      Edit_Adress . OnKeyDown = Tab;
      //....
    end;
      

  3.   

    if key=#13 then
      Perform(CM_DialogKey,VK_Tab,0);
      

  4.   

    首先将Form的KeyPreview设为True,然后健入一下代码:
    procedure Tform1.formkeypress(Sender:Tobject;Var Key:Char);
    begin
       if key=#13 then
       begin
          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.   

    if key=#13 then
    begin
     key:=0
    selectnext(activecontrol,true);
    end;
      

  6.   

    if key=#13 then
    begin
     
    end;