Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Panel in den Hintergrund bringen


Florens - Mo 23.05.11 20:20
Titel: Panel in den Hintergrund bringen
Hallihalllo liebe Delphi Community,
ich werkel zurzeit weiter an meinem Invasionsspiel (siehe hier [http://www.delphi-forum.de/topic_Stoppt+die+InvasionSpiel_104309.html]). Ich würde gerne dem Spiel Power Ups hinzufügen und dazu auf die rechte Seite des Fensters ein Panel hinzufügen, wo dann später alle bisher erspielten Power-Ups liegen. Nun ist aber das Problem, dass das verdammte Panel nciht in den Hintergrund will. Ich hab versucht das panel nach hinten zus etzen, wodurch sich aber nciht geändert hat. Die anderen Sachen in den Vordergrund zu setzen bringt auch nix. Gibt es irgendeinen Weg, wie ich das in den hintergrund kriege?

Mit freundlichen Grüßen
Flo


Nano-Ware - Mo 23.05.11 23:01

Hey,

die Frage ist jetzt, ob das während der Laufzeit geschehen soll oder während der Entwicklungszeit. Wenn du ein Panel verstecken willst kannst du ja einfach Visible auf False setzen. Willst du das Panel einfach anders anordnen (im Designer) machst du einfach einen Rechtsklick auf das Panel und dann Element->nach hinten setzen. Das sollte dein Problem lösen, Vorraussetzung ist, dass ich es richtig verstanden habe (:

Gruß


Florens - Di 24.05.11 00:03

Na ich würd gern die Bevels des Panels benutzen um zu verdeutlichen, dass dort rechts ein abgetrennter Bereich ist. Nun sollen in diesen Grenzen vom Panel die Power Ups erscheinen. Das Panel hat also einen optischen Grund womit die Möglichkeit mit Panel1.visible:=false wegfällt. Dass mit Element->nach hinten setzen hatte ich schon probiert und wie gesagt geht das nicht :/

Danke für die Antwort

MfG
Flo


jaenicke - Di 24.05.11 04:44

Naja, es kommt darauf an was du für Komponenten hast. Zum Beispiel kannst du keine TPaintBox vor ein TPanel setzen. Dafür musst du die PaintBox auf ein Panel legen.


Florens - Di 24.05.11 15:04

Mein Problem sind Bilder und Labels. Die hät ich gern im Vordergrund. es will aber einfach nicht.


jaenicke - Di 24.05.11 15:51

Geht auch nicht, weil das selbst gezeichnete Sachen von Delphi und keine Controls mit Handles sind. Wie du das lösen kannst, habe ich ja schon geschrieben:
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Dafür musst du die PaintBox auf ein Panel legen.
Man ersetze PaintBox durch Label bzw. Image. :zwinker:


Florens - Di 24.05.11 16:02

? Ich hab nur Labels und Images und keine PaintBoxen


bummi - Di 24.05.11 16:20

ersetze die Panels durch nicht von TWincontrol abgeleitete Komponenten .... (Sohape,Paintbox, Label, Image ....)


Florens - Di 24.05.11 16:25

Shape, Paintbox etc. haben keine bevels, welche ich ja ebr eben gerne als Grenzen hätte...


jaenicke - Di 24.05.11 16:35

user profile iconFlorens hat folgendes geschrieben Zum zitierten Posting springen:
? Ich hab nur Labels und Images und keine PaintBoxen
Eben deshalb solltest du das ja bei meiner ursprünglichen Aussage durch Label bzw. Image ersetzen...

Also nochmal: Setze einfach deine anderen Komponenten (eben Labels und Images) auf ein Panel drauf...


Yogu - Di 24.05.11 19:08

user profile iconFlorens hat folgendes geschrieben Zum zitierten Posting springen:
Shape, Paintbox etc. haben keine bevels, welche ich ja ebr eben gerne als Grenzen hätte...

Dann nimm doch TBevel.

Also: Entweder alles selbst gezeichnete Komponenten wie Image, Label und Bevel, oder alle selbst gezeichneten in Panels stecken.


Florens - Mi 25.05.11 17:13

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconFlorens hat folgendes geschrieben Zum zitierten Posting springen:
? Ich hab nur Labels und Images und keine PaintBoxen
Eben deshalb solltest du das ja bei meiner ursprünglichen Aussage durch Label bzw. Image ersetzen...

Also nochmal: Setze einfach deine anderen Komponenten (eben Labels und Images) auf ein Panel drauf...


Danke das hat geklappt.