设置窗体的KeyPreview属性为True
在窗体的OnKeyPress事件中添加 if Key = #13 then
  begin
    if not (ActiveControl is TDBMemo) then
    begin
      Key := #0;
      Perform(WM_NextDLGCTL, 0, 0);
    end;
  end;

解决方案 »

  1.   

    Win200不可以有.98下可以用keypass事件
      

  2.   

    /*****************************************
    在keypress事件中
    if key=#13 then 
    你想设置为焦点的组件.setfocus;
    /**************************************
      

  3.   

    同意fwjingling(蓝精灵)  的方法,
    简单易行!!
    我自己也是这样做的
      

  4.   

    我想要的是能夠寫在自定義組建或form對象中的通用方法,這樣也編程中能
    省很多時間.
    第一种方法比較好,在win2000下不能用嗎????
    還有沒有更好的方法?
    望不吝賜教!
      

  5.   

    在keypress事件中
    if key=#13 then 
      key=#9
      

  6.   

    ilang(中雨)的方法行。
    另一种更为简单的:
    SelectNext()
    用法及参数见帮助。
    是Twincontrol的方法。
    用时可为
    设置窗体的KeyPreview属性为True
    在窗体的OnKeyPress事件中添加 if Key = #13 then
      begin
        Key := #0;self.SelectNext(...)
        self.SelectNext(...)
      end;
      

  7.   

    ilang(中雨) 的方法比較周全,win2win2000下也行嗎?
      

  8.   

    要用回车键代替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;