在onkeypress中也if key=#13 then Key:=#9;

解决方案 »

  1.   

    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      
          with TDBGrid(ActiveControl) do
            if selectedindex < (fieldcount -1) then  
              selectedindex := selectedindex +1
            else
              selectedindex := 0;end;
      

  2.   

    if key=#13 then
     if dbgrid1.selectedindex<>adoquery1.fieldcount-1 then
        dbgrid1.selectedindex:=dbgrid1.selectedindex+1
     else
       begin
         adoquery1.next;
         dbgrid1.selectedindex:=0;
        end;