Ver Mensaje Individual
  #10  
Antiguo 29-03-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola marcial.

Primero que nada, me alegro que el código te haya servido como base .

Ahora que veo que deseas un scroll continuo con retraso de tiempo, te pongo otra alternativa más simple:
Código Delphi [-]
procedure TForm1.MMouseEvent(var Msg: TMsg; var Handled: Boolean);
var
  P: TPoint;
  WControl: TWinControl;
  G: TDBGrid;
  ZD: Integer;
begin
  WControl:= FindVCLWindow(Mouse.CursorPos);
  if Assigned(WControl) and (WControl is TDBGrid) then
  begin
    P:= ScreenToClient(Mouse.CursorPos);
    G:= TDBGRid(WControl);
    ZD:=  GetSystemMetrics(SM_CXVSCROLL);
    while (P.X >= G.Left) and (P.X <= G.Left+ZD) do
    begin
      P:= ScreenToClient(Mouse.CursorPos);
      SendMessage(G.Handle, WM_HSCROLL, SB_LINELEFT, 0);
      Sleep(250);
    end;
    while (P.X >= G.Left+G.Width-ZD) and (P.X <= G.Left+G.Width) do
    begin
      P:= ScreenToClient(Mouse.CursorPos);
      SendMessage(G.Handle, WM_HSCROLL, SB_LINERIGHT, 0);
      Sleep(250);
    end;
  end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita