Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Bilder in der Scrollbox beim Scrollen zentrieren (https://www.delphipraxis.net/98762-bilder-der-scrollbox-beim-scrollen-zentrieren.html)

Ralf Stehle 31. Aug 2007 20:44


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:
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;
das Problem dabei ist aber, dass auch das erste Bild in der Mitte zentriert wird
Ü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 00:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz