Einzelnen Beitrag anzeigen

Ralf Stehle

Registriert seit: 8. Aug 2003
124 Beiträge
 
Delphi 7 Professional
 
#1

Bilder in der Scrollbox beim Scrollen zentrieren

  Alt 31. Aug 2007, 20:44
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
Ralf Stehle
ralfstehle@yahoo.de
  Mit Zitat antworten Zitat