Hola Marcos, sí que utilizo el "KeyDown" del DBCtrlGrid. Te adjunto el código que utilizo. en fichero adjunto.
procedure TPartyDesc.DBCtrlGrid2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
......
if (Key=VK_RETURN) then //Simulación de Tab (Enter)
begin
Key:=VK_TAB;
DBCtrlGrid2.DoKey(gkNull);
Exit;
end;
......
end;
Como ves, cuando se presiona Enter, lo sustituyo por Tab y funciona, pero no puedo controlar su respuesta, ya que si utilizo "DBCtrlGrid1.DoKey(GkDown)", el foco pasa al mismo control, pero del siguiente registro.
La pregunta está en como controlar el paso al siguiente control del DBCtrlGrid, de una forma similar a como se hace en los forms (Perform (WM_NEXTDLGCTL,0,0)) o en los DBgrids (TDBGrid(ActiveControl).selectedindex).
Gracias.
|