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 Hilfe - Listbox (https://www.delphipraxis.net/1670-hilfe-listbox.html)

Armes dumme Mädchen 17. Dez 2002 16:45


Hilfe - Listbox
 
Hi, ihrs!

Hab ein riesen problem: Ich muss bis morgen ein Bild in eine listbox einfügen können und es von der listbox auf eine paintbox erzeugen. Wie macht man das???? Bisher weiß ich nur wie man text in die listbox hinzufügt....

Brauche dringend Hilfe!!! :wiejetzt:


Steffi

Christian Seehase 17. Dez 2002 17:07

Moin Steffi,

erst einmal herzlich willkommen.

Unter der Annahme, dass Du eine Bitmap aus einer Datei lädst, und diese auf der Listbox ausgeben willst, sähe das, z.B., so aus.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

var
  bmpWork : TBitmap;
  iWidth : integer;
  iHeight : integer;

begin
  if not OpenDialog1.Execute then
  begin
    exit;
  end;
  bmpWork := TBitmap.Create;
  try
    bmpWork.LoadFromFile(OpenDialog1.FileName);
    ListBox1.Canvas.Draw(0,0,bmpWork);
  finally
    FreeAndNil(bmpWork);
  end;
end;
ListBox1.Canvas ist die Zeichenfläche der Listbox, auf der, wie der Name schon sagt, gezeichnet werden kann, was dann mit Draw auch passiert.

Armes dumme Mädchen 17. Dez 2002 17:31

Oh, super, thx, das hilft mir schon mal weiter. Ich denke das ganze gilt auch für TImage, ne?
ich versuche mal ob das geht

CalganX 17. Dez 2002 17:40

Wenn du ein Bild in TImage reinladen willst, gibt es da bessere Möglichkeiten. Zum Beispiel:

Delphi-Quellcode:
  Image1.Picture.LoadFromFile('C:\Pfad\zum\bild.bmp');
Unter der Vorraussetzung, dass die TImage-Kompo Image1 heißt.

Wenn du aber in Chris' Code statt TBitmap TImage nehmen würdest, wäre dass nicht möglich, da, wie oben gesagt, TImage eine Komponente ist.

@Chris: Die Variablen iHeight und iWidth werden nicht gebraucht...

Chris

Christian Seehase 17. Dez 2002 18:04

Moin Chris,

stimmt. Ich werd' wohl langsam bröselig :mrgreen:

Die hatte ich für die Übernahme des Images aus der ListBox in die Paintbox vorgesehen.

CalganX 17. Dez 2002 18:10

Theorethisch brauchst selbst da keine Höhenangaben...
Aber man kann sie natürlich auch nehmen...

Chris

Christian Seehase 17. Dez 2002 18:34

Moin Chris,

doch, wenn Du Dir die Grösse der auf den Listbox.Canvas aufgebrachten Bitmap merken willst, unabhängig davon, ob die Bitmap weiterhin zur Verfügung steht. (so war's ursprünglich gedacht).


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:00 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