Ver Mensaje Individual
  #5  
Antiguo 27-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.

Me quede pensando que agregando un detalle te puede servir para más de un TDBGrid en el mismo form:
Código Delphi [-]
  private
     procedure MMouseEvent(var Msg: TMsg; var Handled: Boolean);
  end;

....

procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnMessage := MMouseEvent;
end;

procedure TForm1.MMouseEvent(var Msg: TMsg; var Handled: Boolean);
var
  P: TPoint;
  WControl: TWinControl;
  G: TDBGrid;
  i: Integer;
begin
  WControl:= FindVCLWindow(Mouse.CursorPos);
  if Assigned(WControl) and (WControl is TDBGrid) then
  begin
    G:= TDBGRid(WControl);
    P:= ScreenToClient(Mouse.CursorPos);
    if P.X = G.Left + GetSystemMetrics(SM_CXVSCROLL) then
      for i:= G.Columns.Count-1 downto G.SelectedIndex do
        SendMessage(G.Handle, WM_HSCROLL, SB_LINELEFT, 0);
    if P.X = G.Left + G.Width - GetSystemMetrics(SM_CXVSCROLL) then
      for i:= G.SelectedIndex to G.Columns.Count-1 do
        SendMessage(G.Handle, WM_HSCROLL, SB_LINERIGHT, 0);
  end
end;

Saludos.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 27-03-2012 a las 01:41:31. Razón: corrección
Responder Con Cita