Autor Beitrag
rn22
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 70



BeitragVerfasst: So 01.04.07 11:29 
Hallo

ich erzeuge in einem Programm zur Laufzeit Komponenten auf meinem Form und will erreichen, das die erste nicht von den weiteren verdeckt werden kann.
Wer kann helfen?
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: So 01.04.07 11:46 
Left und Top entsprechend setzen. :wink:

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
rn22 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 70



BeitragVerfasst: So 01.04.07 15:04 
nein - ich meins anders:

Die Komponenten überlappen sich (sollen sie auch).
ich will jetzt aber, das Komponente n in jedem Fall vorn bleibt.
Karlson
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 2088



BeitragVerfasst: So 01.04.07 16:10 
Entweder z.B. mit panel.bringtofront {oder} panel.sendToBack Oder das entsprechende im Formdesigner machen: Rechts auf die Komponente klicken -> Control -> Send To Back bzw. Bring To Front.

Beachte aber das dass nicht mit allen Komponenten funktioniert, sondern nur mit denen die vom Typ TWinControl abgeleitet sind. Z.b. Image oder Label sind das nicht.
rn22 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 70



BeitragVerfasst: So 01.04.07 18:30 
und gibts eine Möglichkeit für Komponenten, die keine TWinControl-Abkömmlinge sind?
Karlson
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 2088



BeitragVerfasst: So 01.04.07 18:53 
Da spielt dann die ERstellungsreihenfolge die relevante Rolle.

Sofern möglich kannst du das entsprechende Control das in den Hintergrund soll (sofern es ein TWinControl ist) als Parent setzen. Dann ist überlappen aber halt nicht mehr so wirklich möglich.

Also: Im Code darauf achten dass du in der richtigen REihenfolge erstellst.
rn22 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 70



BeitragVerfasst: Di 03.04.07 21:32 
Die Erstellungsreihenfolge wird doch sicher durch irgend einen Index festgehalten...
Weiß jemand, wie der heißt?
Karlson
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 2088



BeitragVerfasst: Di 03.04.07 21:34 
Ich wüsste ehrlich gesagt keine Möglichkeit.

Dein Problem ist halt auch ziemlich ungewöhnlich und wahrscheinlich gibt es einen wesentlich effektiveren Weg...

EDIT: Ich hab gerade beim zweiten Durchlesen bemerkt dass ich vom API Aufruf ausgegangen bin. Mit Suche in: Delphi-Forum, Delphi-Library BRINGTOFRONT kannst du auch die anderen Controls (image usw.) ansprechen! Mein Fehler, tut mir leid! Alos: zwei Images / Shapes / Labels sind kein Problem. Nur wenn ein Panel o.ä. dazukommt musst du etwas rumprobieren.
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Di 03.04.07 22:59 
Hallo,
user profile iconrn22 hat folgendes geschrieben:
Die Erstellungsreihenfolge wird doch sicher durch irgend einen Index festgehalten...
Weiß jemand, wie der heißt?
eventuell hilft Dir das weiter:
"Reihenfolge" von Objekten

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )