Registriert seit: 25. Apr 2013
38 Beiträge
Delphi 10 Seattle Enterprise
|
AW: [FM] Scrollbox mit Eingabeelementen scrollen
30. Nov 2015, 14:38
Bei den Controls kann man über die Eigenschaft Touch->InteractiveGestures->Pan festlegen, welche Controls auf das Ziehen reagieren sollen. Wenn ich die Eigenschaft bei der Scrollbox auf True setze, bei den Elementen innerhalb der Scrollbox aber auf False, dann wird der Event von den Controls schrittweise an Parent weitergereicht, bis eines entsprechend reagiert. Damit konnte ich bei Buttons, Edit und Combobox scrollen. Bei Memo hat das leider nichts gebracht.
Ich habe allerdings noch eine horizontale Scrollbox mit Bildern in meiner vertikalen Scrollbox. Hier wollte ich, dass sich horizontale Bewegungen auf die horizontale Scrollbox und vertikale Bewegungen auf die vertikale Scrollbox auswirken. Mit Aktivierung der Pan-Eigenschaft für die horiz. Scrollbox kamen vertikale Bewegungen aber nicht mehr bei der vert. Scrollbox an. Die einzige Möglichkeit, beide Boxen zu scrollen, bestand darin, die Pan-Eigenschaft bei beiden abzuschalten und sämtliche Scrollbewegungen über einen GestureManager auf der Form abzufangen. Zu Beginn der Scrollbewegung wird geschaut, ob sich die horiz. Scrollbox an der Position befindet. Bei jeder Scrollbewegung berechne ich Veränderungen auf der X- und Y-Achse. Y-Veränderungen werden an die vert. Scrollbox weitergegeben (VertScrollBox.ScrollBy(0, dy)) und horiz. Bewegungen an die horiz. Scrollbox, falls die Geste über dieser begann.
Momentan habe ich auf Android noch das Problem, dass bei Scrollen über z.B. einem Label der Inhalt der vert. Scrollbox springt. Unter iOS habe ich noch nicht getestet. Falls jemand eine Erklärung für das Verhalten hat, dann soll er das bitte kundtun. Mir fehlt momentan ein Ansatz.
quaero
|