Mover DBGrid usando as setas

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (1)  (0)

Temos um problema quando alteramos a propriedade options de um TDBGrid para selecionar a linha inteira (dgRowSelect) que não conseguimos mover o scroll pelo teclado, o exemplo abaixo demonstra como contornar esse problema usando API do windows.

Temos um problema quando alteramos a propriedade options de um TDBGrid para selecionar a linha inteira (dgRowSelect) que não conseguimos mover o scroll pelo teclado, o exemplo abaixo demonstra como contornar esse problema usando API do windows.

Coloque esse código no evento KeyDown do DBGrid.


procedure Tform1.DBGrid1KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  if (Key = VK_LEFT)  then begin
    Key := 0;
    PostMessage(DBGrid1.Handle, WM_HSCROLL, 0, 0);
  end
  else if (Key = VK_RIGHT)  then begin
    Key := 0;
    PostMessage(DBGrid1.Handle, WM_HSCROLL, 1, 0);
  end;
end;

O exemplo foi testado no Delphi 7.

Espero ter ajudado.

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?