for I := 0 to DataModule2.ComponentCount - 1 do
  begin
    if (DataModule2.Components[I] is TDataSource) then
      ListBox1.Items.AddObject(DataModule2.Components[I].Name,
        DataModule2.Components[I] as TObject);
  end;/*************************************/
/*1、MY TOOL:*************************/
/*2、Delphi,Oracle,Sybase,C++/C*******/
/*3、PROJECT:*************************/
/*3、Boss*****************************/
/*4、为了五星的目标希望你早点结贴*********/
/*5、在线技术讨论(QQ):68123095*********/
/*************************************/

解决方案 »

  1.   

    keydown事件中,
    if key=13 then
      控件.setfocus;
      

  2.   

    if key=#13 then
    begin
     key=#0;
     edit1.setfocus;
    end;
      

  3.   

    procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
    begin
         if key=#13 then
              if not (ActiveControl is TDbgrid) Then
              begin
                   key:=#0;
                   perform(WM_NEXTDLGCTL,0,0);
              end else
              if (ActiveControl is TDbgrid) Then
              begin
                   With TDbgrid(ActiveControl) Do
                   if Selectedindex<(FieldCount-1) then
                        Selectedindex:=Selectedindex+1
                   else Selectedindex:=0;
              end;
    end;
      

  4.   

    procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
    begin
         if key=#13 then
              if not (ActiveControl is TDbgrid) Then
              begin
                   key:=#0;
                   perform(WM_NEXTDLGCTL,0,0);
              end else
              if (ActiveControl is TDbgrid) Then
              begin
                   With TDbgrid(ActiveControl) Do
                   if Selectedindex<(FieldCount-1) then
                        Selectedindex:=Selectedindex+1
                   else Selectedindex:=0;
              end;
    end;
      

  5.   

    设置Form的KeyPreview := true;procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
        if Key = vk_return then
            Postmessage(handle,WM_KEYDOWN,VK_TAB,0);
    end;
      

  6.   

    varmyform:Tform;begin
    myform:=Tform.create(nil);
    //myform.parent:=form1;
    Windows.SetParent(myform.Handle,form1.Handle);
    myform.show;end;
      

  7.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
         case Ord(Key) of
            vk_return:
                begin
                   key:=#0;
                   selectnext(activecontrol,true,true);
                end;
          end;
    end;
      

  8.   

    多谢各位,我想把分数给Superljj(),请问怎么给?
      

  9.   


    需要用回车键代替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;摘自http://hub.myrice.com/
      

  10.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
    if key=#13 the
      begin
         edit1.setfocus;
      end
    else
      begin
        \\********************
      end;