![]() |
Steuerung der Scroll Mouse
Hallo Leute,
ich habe ein Formular mit einem vertikalen Scroll - Balken. Auf dem Formular befinden sich eine ganze Menge ComboBoxen. Wenn ich das Scroll - Rad der Muse betätige, dann wird der Fokus den Boxen in der Tabulatorreihenfolge zugewiesen. In der letzten, angezeigten Box bleibt der Fokus stehen und die Scroll - Funktion blättert in den Items der Box. Gibt es eine Möglichkeit, dass die Scrollfunktion des Mouse - Rades nur das Scrollen des Formulares hoch oder runter bewirkt. Also dass beim Scrollen nicht die Komponenten des Formulares betrofeen sind. Ich hoffe, dass ich das verständlich formuliert habe. Vielen Dank im voraus. Gruß alfred :witch: |
Re: Steuerung der Scroll Mouse
Hy,
klar gibt es die Möglichkeit ;) leite dir eine Klasse von der Combobox ab und fange die Mouswheel message ab. die dann einfach an deine Form weiterleiten und fertig ;) greetz -FastJack2 |
DP-Maintenance
Dieses Thema wurde von "Christian Seehase" von "Windows 9x / ME / 2000 / XP / 2003" nach "VCL-Komponenten und Controls" verschoben.
Ein Delphi Problem |
Re: Steuerung der Scroll Mouse
Hi Leute.
Der von FastJack vorgeschlagene Weg ist sicher theortisch machbar. Ich habe aber eine andere Variante gewählt, die mir als günstiger erscheint. Im Forum existiert ein Artikel von APP. Der wiederum zitiert einen Artikel von Peter Below - und genau der ist die Basis für die Lösung. Nach Herausnahme des Bezuges zu einer konkreten Komponente ergibt sich der folgende Code :
Delphi-Quellcode:
So sollte es gehen.
procedure TFormularname.FormMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean); Var msg, code : Cardinal; i, n : Integer; begin Handled := true; If ssShift In Shift Then msg := WM_HSCROLL Else msg := WM_VSCROLL; If WheelDelta < 0 Then code := SB_LINEUP Else code := SB_LINEDOWN; n:= Mouse.WheelScrollLines; For i:= 1 to n Do Formularname.Perform( msg, code, 0 ); Formularname.Perform( msg, SB_ENDSCROLL, 0 ); end; Gruß alfred |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 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