Autor |
Beitrag |
kandesbunzler
      
Beiträge: 116
Erhaltene Danke: 1
Delphi 7, XE2
|
Verfasst: Fr 14.03.08 15:51
Hallo allerseits,
folgendes Anordnungsproblem von Komponenten habe ich:
Da rote Label 2 ist innerhalb des grünen Label 1 gezeichnet
Nun möchte ich einen Text über beide Labels legen.
Problem: Der Text wird immer vom roten Label 2 überlagert
und auch die Änderung der Anordnungsreihenfolge bringt nichts.
Danke und auf bald ...
kandesbunzler.
Moderiert von Gausi: Topic aus Multimedia / Grafik verschoben am Fr 14.03.2008 um 15:22
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Fr 14.03.08 16:02
Hallo kandesbunzler,
blende doch die beiden Labels mit der Eigenschaft Visible oder den Funktionen Show; und Hide; ein und aus. Dann sind sie gar nicht mehr zu sehen, d.h. es kann auch nichts überlagern.
Grüße,
Yogu
|
|
kandesbunzler 
      
Beiträge: 116
Erhaltene Danke: 1
Delphi 7, XE2
|
Verfasst: Fr 14.03.08 16:18
Hallo Yogu,
hmmm, theoretisch ja - praktisch geht das leider nicht. Hier ein evtl. besseres Beispiel: Thermometer mit grünem Bereich auf rotem Hintergrund. Die Skalatext (schwarz) soll über grün und rot liegen und diese Farben sollen ja weiterhin sichtbar bleiben. Ergänzung: Auch im Skalentexthintergrundbereich sollen die Farben sichtbar sein (quasi transparent = true).
Auf bald ...
kandesbunzler.
|
|
Agawain
      
Beiträge: 460
win xp
D5, MySQL, devxpress
|
Verfasst: Fr 14.03.08 16:22
hi
stetz doch bei beiden Labeln den Text auf '' und mach ein 3. Label mit dem Skalentext
_________________ Gruß Aga
|
|
kandesbunzler 
      
Beiträge: 116
Erhaltene Danke: 1
Delphi 7, XE2
|
Verfasst: Fr 14.03.08 16:31
Hallo,
bei Labels kann ich den Hintergrund nicht auf transparent setzen. Demzufolge bleibt dieser Bereich von Label3 eingefärbt und überdeckt grün resp. rot der darunterliegenden Labels ...
Auf bald ...
kandesbunzler.
|
|
fuba
      
Beiträge: 125
Win7
D7 Ent.
|
Verfasst: Fr 14.03.08 16:32
kandesbunzler hat folgendes geschrieben: | Da rote Label 2 ist innerhalb des grünen Label 1 gezeichnet
Nun möchte ich einen Text über beide Labels legen.
Problem: Der Text wird immer vom roten Label 2 überlagert
und auch die Änderung der Anordnungsreihenfolge bringt nichts. |
Versteh ich irgendwie nicht...
Label2(rot) in "im" Label1(grün) oder wie?
und Label3(text) soll darin sichtbar sein oder wie?
Moderiert von Narses: Zitat gekürzt
|
|
kandesbunzler 
      
Beiträge: 116
Erhaltene Danke: 1
Delphi 7, XE2
|
Verfasst: Fr 14.03.08 17:20
Hallo,
ich habe mal einen Screenshot angehangen. Evtl. hilft das besser.
Auf bald ...
kandesbunzler.
Einloggen, um Attachments anzusehen!
|
|
Agawain
      
Beiträge: 460
win xp
D5, MySQL, devxpress
|
Verfasst: Fr 14.03.08 17:28
LOL
na des ist natürlich klar....schreibst hier was von Label, nimmst aber Panel.
Also machs mit Label, da geht das nämlich
_________________ Gruß Aga
|
|
kandesbunzler 
      
Beiträge: 116
Erhaltene Danke: 1
Delphi 7, XE2
|
Verfasst: Fr 14.03.08 17:40
... aber "Label4 von Panel 2 überlagert" wird doch von Panel 2 überlagert ...
Genau dieses wollte ich ja vermeiden. Label 4 soll nach ganz oben.
Nun bin ich ratlos.
Auf bald ...
kandesbunzler.
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Fr 14.03.08 17:51
Da muss ich etwas weiter zurückgreifen...
Generell gibt es zwei Typen von Controls. Einmal die WinControls und dann noch die GraphicControls. WinControls werden von Windows verwaltet, können den Fokus erhalten, und sind einfach richtige Controls von Fenstern. Sie können untereinander beliebig nach hinten / vorne gesetzt werden. GraphicControls dagegen werden von Delphi verwaltet. Sie werden einfach nur auf das Parent-WinControl gezeichnet. Untereinander können diese auch hin- und hergeschubst werden, aber sie werden ja auf den Parent gezeichnet und sind somit eigentlich der Parent selber. Und zwischen Parent und Parent können ja wohl keine anderen Controls sein
Was ich damit sagen will: Das Label muss immer hinten bleiben. Deine Panels sind WinControls und werden deshalb immer vor dem Label bleiben.
Lösungsvorschlag: Nimm TStaticText statt Labels. StaticTexte sind WinControls.
|
|
Agawain
      
Beiträge: 460
win xp
D5, MySQL, devxpress
|
Verfasst: Fr 14.03.08 17:56
guckst du hier
Einloggen, um Attachments anzusehen!
_________________ Gruß Aga
|
|
kandesbunzler 
      
Beiträge: 116
Erhaltene Danke: 1
Delphi 7, XE2
|
Verfasst: Fr 14.03.08 18:04
Hallo Yogu,
vielen Dank für Deine ausführlichen Hintergrundinformationen.
Ich habe das mal eingefügt und wieder als Screenshot angehangen.
Wenn mir noch einer sagen kann, wie ich das türkis von StaticText1
wegbekomme ...
Hinweis: Transparenz habe ich bereits auf true gesetzt.
Auf bald ...
kandesbunzler.
Einloggen, um Attachments anzusehen!
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Fr 14.03.08 18:24
Setze die Eigenschaft Color auf eine andere Farbe.
Wenn du wirklich Transparenz haben willst, geht das mit einem StaticText nicht. Da musst du dann noch wieder auf Labels umsteigen - und am Besten nur Labels verwenden. Dann kannst du die auch schön übereinander legen, wie du willst.
|
|