![]() |
Datenbank: SQL • Version: 5.2 SP2 • Zugriff über: AdoQuery,DataSource,DBGrid,DBEdit
DBGrid und Scrollrad
Hallo zusammen,
Ich visualisiere Daten in einem DBGrid. Beim befüllen des DBgrid wird ein Datensatz selektiert. Die selektion ist blau hinterlegt und der Pfeil links ist gepunktet. Bewege ich nun das Scrollrad der Maus, so wird die farbliche Markierung zwar zu einem anderen Datensatz verschoben, jedoch bleibt der zuerst aktivierte Datensatz aktiviert(durch gepunkteten Pfeil ausgewählt). Wie bringe ich das nun in einklang? Also entweder das Verschieben der Markierung deaktivieren, oder durch verschieben der Markierung andren Datensatz aktivieren? Gruß Steppo |
Re: DBGrid und Scrollrad
Hallo,
schau dir mal ![]() Müsste eigentlich genau das machen was du willst. mfg burn |
Re: DBGrid und Scrollrad
Also gibt es für die Standardkomponente keine Möglichkeit!
Danke für die Antwort, werde die von dir vorgeschlagene Komponente mal testen. Gruß Steppo |
Re: DBGrid und Scrollrad
[EDIT]
nimm die Lösung aus dem im nexten Beitrag genannten Thread - ist wesentlich eleganter als eigenes Grid abzuleiten... [/EDIT] Grid ableiten:
Delphi-Quellcode:
im ObjectInspector dblClick auf Ereigniss MouseWheelDown bzw. MouseWheelUP und :
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.
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; |
Re: DBGrid und Scrollrad
Zitat:
![]() Gruss Thorsten |
Re: DBGrid und Scrollrad
Recht herzlichen Dank für eure Hilfe.
Gruß Steppo |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz