Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Problem mit Label Transparents (https://www.delphipraxis.net/177761-problem-mit-label-transparents.html)

Natcree 26. Nov 2013 10:47

Problem mit Label Transparents
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo ich habe ein label und habe dort Transparent im OI auf true gesetzt nun mehr wenn ich dem label einen String zuweise gibt es einen schwarzen Kasten und keine Schrift. Hier mal ein Bild.

Wo liegt der Fehler?

Der schöne Günther 26. Nov 2013 10:50

AW: Problem mit Label Transparents
 
Das hätte ich jetzt eigentlich erwartet wenn
Delphi-Quellcode:
Transparent = False
und
Delphi-Quellcode:
Color = clBlack
wäre...

Natcree 26. Nov 2013 11:04

AW: Problem mit Label Transparents
 
Zur Erklärung auf der Mainform Wird ein Video abgespielt. Die Display Ausgabe ist ein TPanel. Dieses Ist auch auch auf Transparent = True gesetzt. Nun starte ich über einen Buttonclick eine weitere Form welche auch auf bsclear gesetzt ist. auf dieser Form ist Das Label. Habe ich irgendwas Übersehen???

Der schöne Günther 26. Nov 2013 11:32

AW: Problem mit Label Transparents
 
Ich bin wahrscheinlich sowieso nicht der richtige für VCL-Dinge. Aber trotzdem:
  • Ein TPanel hat doch überhaupt keine Property Transparent. Was meinst du mit
    Delphi-Quellcode:
    Transparent = True
    ?
  • "Form auf bsClear" bedeutet
    Delphi-Quellcode:
    meineForm.Brush.BrushStyle = TBrushStyle.bsClear
    ? Wenn ja, wozu das? Du kannst die Form mit
    Delphi-Quellcode:
    TransparentColor
    durchsichtig machen.
  • Ist
    Delphi-Quellcode:
    Transparent = True
    nicht eigentlich sowieso Standard für ein TLabel?

Natcree 26. Nov 2013 11:43

AW: Problem mit Label Transparents
 
Sorry ja das panel hat keine transp. Habe color auf clnone gesetzt. Hat jemand noch eine Idee???

Andreas L. 26. Nov 2013 11:52

AW: Problem mit Label Transparents
 
Zitat:

Zitat von Natcree (Beitrag 1237457)
Habe color auf clnone gesetzt. Hat jemand noch eine Idee???

Vielleicht liegt hier das Problem. Wie siehts aus wenn du die Panel-Eigenschaften wieder zurück setzt? Color := clBtnFace, ParentColor := True und ParentBackground := True

Natcree 26. Nov 2013 11:55

AW: Problem mit Label Transparents
 
Ändert leider Auch Nichts.. hmmmmmm???

Der schöne Günther 26. Nov 2013 11:57

AW: Problem mit Label Transparents
 
Kannst du ein kleines Beispiel-Projekt zum Reproduzieren des Fehlers einstellen?

Natcree 26. Nov 2013 12:09

AW: Problem mit Label Transparents
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hier mal ein Beispiel. Das Video im Mediaplayer1 sowie das Lied im Mediaplayer2 auf form1 sollte noch geändert werden. da diese Dateien zu gross sind zum Hochladen. Mit Klick auf Mitgliederverwaltung öffnet sich die Form2. danach auf datensatz einlesen Klicken.

stahli 26. Nov 2013 12:15

AW: Problem mit Label Transparents
 
Mal eine Einschätzung unter Vorbehalt (kann falsch sein, ist aber mein letzter Kenntsnisstand):

Ein Label zeichnet sich auf dem Canvas seines Parents. Deshalb wird ein Label immer hinter Controls gezeichnet. Hier ist eine Transparenz lösbar, weil das Label dann nur seinen Text zeichnen muss.

Bei Panels ist das schwieriger. Eine echte Transparenz gibt es hier nicht. Ein Panel kann die Farbe seines Parents übernehmen, dann ist es nicht direkt zu sehen.
Ist der Parent aber nicht einfarbig, hilft das auch nicht. Dann könnte man den passenden Ausschnitt des Parent-Canvas auf den Panel-Canvas kopieren und dann z.B. noch Text darauf zeichnen.
Das ist natürlich aufwendig und schwierig.
Wenn ein Panel andere Controls überdeckt (z.B. über zwei Schaltern mit dem gleichen Parent liegt), ist eine Transparenz gar nicht mehr zu erreichen.

Man kann Panels "ausstanzen" oder "ausschneiden" (über Regionen), so dass Teile des Panels "fehlen" und somit eine echte Transparenz entsteht. Dann werden aber auch Controls abgeschnitten, die über der Region liegen. Es sind sozusagen richtige Löcher, die dann auch keine Mausereignisse abfangen können.

Sobald ein Videoplayer ins Spiel kommt wird es noch komplizierter.
Da werden dann die Daten aus einem Videobildspeicherbereich oder so verarbeitet. Da wird man dann auch je nach System mit verschiedenen Ergebnissen rechnen müssen.


Firemonkey bietet da etwas mehr Flexibilität, hat aber auch wieder Schwächen. Die VCL kann man sich leider nicht als übereinander liegende Folien vorstellen, die transparente Bereiche enthalten können.

Ich hoffe, das passt so ungefähr...


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:14 Uhr.
Seite 1 von 2  1 2      

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