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:
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;
So sollte es gehen.
Gruß alfred