1) 键盘事件。
2)DBGRID 行记录颜色控制。太多的资料介绍这些。——查书!

解决方案 »

  1.   

    procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if key=13 then
     //showmessage(inttostr(DBGrid1.Columns.Count ));
      if dbgrid1.SelectedIndex <dbgrid1.Columns.Count-1 then
      begin
      dbgrid1.SelectedIndex := dbgrid1.SelectedIndex+1;
      showmessage(inttostr(dbgrid1.SelectedIndex));
      end
      else if  dbgrid1.SelectedIndex=dbgrid1.Columns.Count-1 then
      begin
        dbgrid1.SelectedIndex := 0;  end;
    //  showmessage('asdf');
    end;
      

  2.   

    用方向键可实现你想要的功能亦可转化用KeyDown事件如:if Key=Vk_Return then
       Key:=Vk_Down;
      

  3.   

    procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
    Shift: TShiftState);
    var cur:integer;
    begin
    if key=VK_RETURN then begin
    cur:=dbgrid1.SelectedIndex;
    if cur<>dbgrid1.FieldCount-1 then
    dbgrid1.SelectedIndex:=cur+1
    else begin
    datasource1.DataSet.Next;
    dbgrid1.SelectedIndex:=0;
    end;
    end;
    end;
      

  4.   

    procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
    begin
         if (Key = #13) then
             SendMessage(DBGrid1.Handle,WM_KEYDOWN,VK_TAB,0);
    end;