如 Delphi at ctrl + a 分配 dbgrid 中的所有行

As in Delphi at ctrl + a to allocate all line in dbgrid

按下按钮 select dbgrid 中的所有行时,我可以 select 按下 ctrl + a 时的所有行吗?

function GridSelectAll(Grid: TDBGrid): Longint;
begin
  Result := 0;
  Grid.SelectedRows.Clear;
  with Grid.Datasource.DataSet do
  begin
    First;
    DisableControls;
    try
      while not EOF do
      begin
        Grid.SelectedRows.CurrentRowSelected := True;
        inc(Result);
        Next;
      end;
    finally
      EnableControls;
    end;
  end;
end;

procedure TForm2.btn13Click(Sender: TObject);
begin
  GridSelectAll(dbgrd1);
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin   if (ssCtrl in Shift) and (Key = ) then
    then  GridSelectAll(dbgrd1); end;