![]() |
Delphi-Version: 5
Tpanel verliert die Caption nach BMP Zuweisung
Hi :)
lade nen Bild aus der ImageList
Delphi-Quellcode:
Doch die Caption wird dann überlagert! Wie kann ich das - die Caption dennoch erhalten bleibt und AUF der Bitmap liegt?
bmp1 := TImage.create(Panel1); // Bild erstellen.
bmp1.Height := 50; bmp1.Width := 155; settings_imglst.GetBitmap(0, bmp1.Picture.Bitmap); bmp1.Parent := Panel1; // Bild ins Panel setzen Panel1.Repaint; |
AW: Tpanel verliert die Caption nach BMP Zuweisung
Die Caption ist nunmal "direkt" auf dem Panel.
Das TImage legst du auf das Panel (genauer davor) und wenn das TImage nicht durchsichtig ist, an der gewünschten Stelle, dann sieht man nicht mehr, was sich dahinter befindet. Schau nach rechts, schreib deine Caption auf diese Wand und nun häng ein Bild davor. :zwinker: Lösungen: - das Bild im TImage an der gewünschten Stelle transparent machen - den Text auf das Bild (im TImage) draufmalen - eine weitere Textkomponente vor das TImage (aber nicht TLabel) |
AW: Tpanel verliert die Caption nach BMP Zuweisung
Hi!
TPanel besitzt ja wie ich das sehe kein Canvas. Deshalb hätte ich da eigentlich ein TLabel mit .Transparent = True benutzt - was spricht denn dagegen, himitsu? Beste Grüße! Robert |
AW: Tpanel verliert die Caption nach BMP Zuweisung
Ein Panel hat schon eine Art Canvas. (an diesen würde man z.B. über .Handle des Panels rankommen)
Darauf zeichnet sich dann das Label. Ein TLabel zeichnet sich halt immer auf den Canvas seines Parents. (ist 'ne delphi-eigene Komponente, welche dahingehend "optimiert" wurde) Alternativ gibt es ![]() Darum kann man z.B. auch kein TLabel vor ein TEdit, TButton, TImage legen, weil es sich ja auf den dahinterliegenden Parent zeichnen will, welcher dabei schließlich verdeckt ist. |
AW: Tpanel verliert die Caption nach BMP Zuweisung
Liste der Anhänge anzeigen (Anzahl: 1)
Unter XE funktioniert das auch mit einem Label.
[edit] P.S.: TPanel besitzt nicht nur eine Art Canvas, sondern tatsächlich eine Canvas-Property (geerbt von TCustomControl). Nur ist diese protected, deshalb kommt man da nur aus abgeleiteten Klassen heran. [/edit] |
AW: Tpanel verliert die Caption nach BMP Zuweisung
Die werden doch nicht etwa was am Label geändert haben? :shock:
Grad ausprobiert ... stimmt. Hmm, ich dachte TImage hätte ein eigenes Canvas. Aber vielleicht zeichnet es sich auch nur auf den Canvas des Parent? Wenn ja, dann würde es dieses Verhalten erklären :gruebel: [add] k.A. ob das schon immer so war. Das Canvas des TImage wird nur auf das Canvas des darinliegenden Graphic-Controls geleitet (nicht auf den Bildschirm). Quasi im OnPaint wird das Graphic-Controls dann, genauso wie das TLabel, ausgegeben. Fazit: OK, TLabel kann vor TImage (muß nur in der Erstellungsreihenfolge danach kommen), aber dafür kann TImage und TLabel z.B. nicht vor TButton. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 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