![]() |
Bilder in der Scrollbox beim Scrollen zentrieren
Ich habe eine Bildverwaltung programmiert, bei der in einer Srollbox kleine Vorschaubilder angezeigt werden.
Beim Klicken auf ein Bild in der Scrollbox soll dieses nun in der Mitte angezeigt werden, so dass die Bilder darüber und darunter sichtbar werden. (Die Image-Komponenten wurden zur Laufzeit dynamisch erstellt, da ja nicht bekannt ist, wieviele Bilder es eigentlich gibt, daher statt Image1.Height die Anweisung "With Sender as TImage do begin TImage(MainForm.FindComponent(Name))Heigth) Das klappt mit folgendem Code einwandfrei:
Delphi-Quellcode:
das Problem dabei ist aber, dass auch das erste Bild in der Mitte zentriert wird
procedure TMainForm.MeineOnClickMethode(Sender : TObject);
var midposition: integer; begin with Sender as TImage do begin midposition := Round(Scrollbox1.Height - TImage(MainForm.FindComponent(Name)).Height) div 2; ScrollBox1.ScrollBy(0, midposition - TImage(MainForm.FindComponent(Name)).Top); Realign; end; Über diesem Bild erscheint dann nur eine graue leere Fläche Das sieht ziemlich unprofessionell aus und zum Überdruss verschwindet auch noch die VertScrollBar |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 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