Hey Leute,
da ich gestern auf dem PC meines Vaters ein Problem mit der Verwendung des Mausrads in einem meiner Programme hatte (reagierte nicht mehr und musste abgeschossen werden), wollte ich die Behandlung des Events umbauen. Dazu gab es vor kurzem bereits ein
ähnliches Thema in der
DP, aber da mein Problem etwas anders gelagert ist, eröffne ich besser ein neues Thema.
Ich beziehe mich mit dem Code für die Ereignisbehandlung auf
diesen Post von Uwe Raabe, den ich 1:1 übernommen habe (nachdem ich die im Delphi 5 fehlende Funktion Sign() nachgebaut habe). Das Problem ist nun folgendes: Befindet sich auf der Form eine ScrollBox, funktioniert der Code sauber. Sobald ich auf der Form ein PageControl und darin (auf einem TabSheet) eine ScrollBox habe, ermittelt die Funktion ControlAtPos() das PageControl und nicht die ScrollBox.
Nochmal kurz als Übersicht:
Code:
Funktioniert: TForm > TScrollBox
Funktioniert nicht: TForm > TPageControl > TTabSheet > TScrollBox
Das führt natürlich in der Folge dazu, dass die jeweils ermittelten Parents nur noch die Form und dann nil sind, wodurch das Scrollen natürlich nicht funktioniert. Eigentlich bleibt mir ja nichts anderes übrig, als die Childs des von ControlAtPos() ermittelten PageControls durchzugehen (z.B. mit dem property Components), aber dann könnte ich auch gleich auf die ScrollBox gehen, da ich ja weiß, dass auf jeder Seite des PageControl eine ScrollBox ist.
Wie würdet ihr das Problem angehen?
MfG Dalai