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 TMiamiLabel soll in den Vordergrund (https://www.delphipraxis.net/93386-tmiamilabel-soll-den-vordergrund.html)

xZise 5. Jun 2007 08:36


TMiamiLabel soll in den Vordergrund
 
Hi :dp:

Ich habe ein Programm mit meinem TMiamiLabel.
Soweit alles wunderbar, aber im Hintergrund befindet sich eine CheckListBox und diese geht weder mit .SendToBack oder mit .BringToFront (Beim MiamiLabel) in den Hintergrund... Erst durch das Ausblenden der Komponente wird meine Sichtbar :(

MfG
xZise
:wiejetzt:

SirThornberry 5. Jun 2007 08:43

Re: TMiamiLabel soll in den Vordergrund
 
von welcher Komponenten ist dein Label abgeleitet? Wenn es kein Fenster im Windowssinne ist zeichnet es sich auf die Canvas des Parents. Demzufolge kannst du es nicht über etwas anzeigen was auch auf dem Parent liegt weil eben das darüberliegende über der Canvas des Parents ist worauf sich das Control zeichnet.

Du kannst dir das ganze so vorstellen (wenn du kein Fenster im Windowssinne hast):
Du hast ein Blatt Papier (der Parent deines Labels). Darauf schreibst du Text (dein Label) und dann legst du auf dein Blatt Papier einen Taschenrechner.
Jetzt versuche das dein Text vom Blatt Papier über dem Taschenrechner zu sehen ist aber das Blatt weiterhin unter dem Taschenrechner bleibt. Es ist schlichtweg unmöglich.

xZise 5. Jun 2007 08:48

Re: TMiamiLabel soll in den Vordergrund
 
es ist von TGraphicControl abgeleitet...
Ich müsste also dann ein Panel (2. Zettel) nehmen und den dann als Parent nehmen und den dann in Vordergrund (über den Taschenrechner) holen?

SirThornberry 5. Jun 2007 08:51

Re: TMiamiLabel soll in den Vordergrund
 
TGraphicControl ist so ein Control welches sich auf den Parent zeichnet.
Genau, du müsstest ein weiteres Panel nehmen oder du setzt die CheckListBox als Parent deines Labels. Dann wäre sozusagen die Checklistbox das neue Blatt papier worauf sich dein Label zeichnet.

DGL-luke 5. Jun 2007 08:53

Re: TMiamiLabel soll in den Vordergrund
 
Du könntest dein Label von TStaticText ableiten. Macht das selbe wie ein Label, müsst aber von TWinControl abgeleitet sein

SirThornberry 5. Jun 2007 08:55

Re: TMiamiLabel soll in den Vordergrund
 
@DGL-Luke: Wenn er jetzt von TGraphicControl abgeleitet hat wäre die einfachste Umstellung es von TCustomControl abzuleiten da es ebenfalls eine Canvas hat (eine eigene) und dennoch nur das nötigste (wie TGraphicControl) für Darstellung implementiert ist.
Allerdings ist bei Ableitung von einem richtigen Fenster auch die Transparenz hinüber weil ein Blatt nunmal nicht Transparent ist.

xZise 5. Jun 2007 09:07

Re: TMiamiLabel soll in den Vordergrund
 
Zitat:

Zitat von DGL-luke
Du könntest dein Label von TStaticText ableiten. Macht das selbe wie ein Label, müsst aber von TWinControl abgeleitet sein

Ich bin mir nict so sicher, dass es mit TStaticText funktioniert ;)


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