Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
Delphi 8 Architect
|
Re: DBGrid und Scrollrad
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...
|