![]() |
Bildervorschau programmieren.
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Alle!
Ich möchte gern eine Bildervorschau programmieren. Das anzeigen der Bilder ist kein Problem. Wie bekomme ich es hin, wenn mehrere Bilder z.B. in einer Reihe dargestellt werden und ein Bild wird gelöscht, dass die übrigen Bilder dann nachrücken und die entstandene Lücke schließen. Hat Einer von Euch vielleicht einen Ansatz wie so etwas macht? Gruß Heike |
Re: Bildervorschau programmieren.
was hältst du von verkette listen mit einem refresh für den rest ?
|
Re: Bildervorschau programmieren.
mit einer forschleife??
lg el |
Re: Bildervorschau programmieren.
Hi Heike,
was spricht dagegen eine TListView zu nehmen? Dort geschieht das eigentlich alles automatisch. Ansonsten könntest du einfach auf das Löschen eines Elements reagieren und dann die Liste neuzeichnen - je nachdem wie du es bisher implementiert hast. Chris |
Re: Bildervorschau programmieren.
Hallo,
@CalganX Auf die Idee mit dem Listview war sie anscheinend auch schon gekommen: ![]() |
Re: Bildervorschau programmieren.
Zitat:
In Prinzip nichts. Aber wenn die Bilder unterschiedliche Größe haben, klappt das ganze nicht mehr. Man könnte natürlich die Bilder auf eine bestimmte Größe bringen. Hierbei der Nachteil, dass das Ganze dann nicht mehr so gut aussieht. Die Idee mit der Liste ist mir auch schon gekommen, nur muss man in der Liste die Größe und die Position angeben, was sehr umständlich ist. Ich bin aber gerade dabei die Bilder Dynamisch auf einer Form zu erzeugen und mit Align am experimentieren. Sieht sehr viel versprechend aus. Gruß Heike |
Re: Bildervorschau programmieren.
Du könntest das mit einer TList lösen. Die hat automatisch schon proceduren für das löschen von einzelnen Indexen wodurch die anderen automatisch nachgerückt werden.
|
Re: Bildervorschau programmieren.
Hi Nikolai,
Zitat:
Gruß Heike |
Re: Bildervorschau programmieren.
Hallo,
was hältst du davon?
Delphi-Quellcode:
//Dim = Dimensions = Abmessungen
procedure DrawPictures(Canvas: TCanvas; Columns, Dim, Spacing: Cardinal; Pictures: TObjectList); var row,col,pic,rows,x,y: Integer; begin rows := Columns div Pictures.Count; for row := 0 to rows+1-1 do for col := 0 to Columns-1 begin pic := row * Columns + col; if Pictures.Count <= pic then Exit; if not Pictures[picture] is TPicture then Exit; x := (Dim+2*Spacing) * row + Spacing; y := (Dim+2*Spcing) * col + Spacing; Canvas.Stretchdraw(rect(x,y,x+Dim,y+Dim),Pictures[picture] as TPicture); //bitte durch anständige zeichenroutine (zentrieren etc.) ersetzen end; end; |
Re: Bildervorschau programmieren.
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:37 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