Thema: Delphi DBGrid und Scrollrad

Einzelnen Beitrag anzeigen

Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#4

Re: DBGrid und Scrollrad

  Alt 7. Feb 2008, 22:25
[EDIT]
nimm die Lösung aus dem im nexten Beitrag genannten Thread - ist wesentlich eleganter als eigenes Grid abzuleiten...
[/EDIT]

Grid ableiten:
Delphi-Quellcode:
interface
  TLsDbGrid = class(TDBGrid)
  private
   protected
    procedure CMMouseWheel(var Message: TCMMouseWheel); message CM_MOUSEWHEEL;
    procedure WMMouseWheel(var Message: TWMMouseWheel); message WM_MOUSEWHEEL;
  published
    property OnMouseWheel;
    property OnMouseWheelDown;
    property OnMouseWheelUp;
  end;

implementation

procedure TLsDbGrid.CMMouseWheel(var Message: TCMMouseWheel);
begin
// Message.Result:=1;
  inherited;
end;

procedure TLsDbGrid.WMMouseWheel(var Message: TWMMouseWheel);
begin
// Message.Result:=1;
  inherited;
end;
end.
im ObjectInspector dblClick auf Ereigniss MouseWheelDown bzw. MouseWheelUP und :

Delphi-Quellcode:
procedure TForm1.DbGridMouseWheelDown( Sender : TObject;
                                          Shift : TShiftState;
                                          MousePos: TPoint;
                                      var Handled : Boolean);
begin
  if (Sender is TLsDbGrid) then begin
    with TLsDbGrid(Sender).DataSource.DataSet do begin
      if not EOF then Next;
    end;
    Handled := True;
  end;
end;

procedure TForm1.DbGridMouseWheelUp( Sender : TObject;
                                          Shift : TShiftState;
                                          MousePos: TPoint;
                                      var Handled : Boolean);
begin
  if (Sender is TLsDbGrid) then begin
    with TLsDbGrid(Sender).DataSource.DataSet do begin
      if not BOF then PRIOR;
    end;
    Handled := True;
  end;
end;
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat