![]() |
Labels ohne transparenten Hintergrund
Hallo,
ich habe mal wieder ein seltsames Problem. In einer leicht verschachtelten Oberfläche(Main-Form mit Pagecontrol, darauf ein Tabsheet, in das ein Formular eingehängt ist) sitzen Labels mit gelber Schrift auf teal-Hintergrund (ok, über die Optik kann man streiten). Im Designer sieht alles gut aus, bei Programmstart meistens auch. Aber es kommt immer wieder vor, daß die Labels plötzlich einen transparenten Hintergrund haben, und gelbe Schrift auf grauem Hintergrund ist einfach schlecht zu lesen. Ich kann das Verhalten aber leider nicht reproduzieren. Mit den Labels mache ich nix dynamisch, die sind statisch auf das Formular gepappt. Kennt jemand dieses Phänomen? |
AW: Labels ohne transparenten Hintergrund
Ich kenn das jetzt zwar nicht so,
Aber du kannst ja die Transparenz abschalten und die Hintergrundfarbe (Color, bzw. via ParentColor) im Label setzen. Bei ParentColor, in Verbindung mit Styles hatte ich aber schon das Problem, dass die falsche Farbe ausgelesen wird, also nicht die vom aktuellen Style. :wall: |
AW: Labels ohne transparenten Hintergrund
Zitat:
Aber im Moment schaue ich per Teamviewer auf den Bildschirm meines Kunden, Label transparent, Label bei mir in der Anwendung clTeal. Beide laufen unter Windows 10. Gestern andere Anwendung beim Kunden, ich komm an den Bildschirm, Labels transparent. Ich starte versuchsweise eine App, in der ich aus einem Label ein RZLabel gemacht habe, alles ist schön clTeal. Ich starte die Originalanwendung wieder, auch wieder alles clTeal???? |
AW: Labels ohne transparenten Hintergrund
Das "echte" Windows-TextAnzeigeControl (STATIC) ist TStaticText.
TLabel, TPaintBox, TShape, TImage, usw. sind keine eigenständigen Windows-Controls. Sie zeichnen sich auf den Canvas ihres Parent-Controls, nachdem sie sich dort reingehackt haben. :angle: Transparent=False bedeutet da eigentlich, dass das TLabel in seinem Bereich alles übermalt. |
AW: Labels ohne transparenten Hintergrund
Zitat:
Hab vorhin nochmal den Teamviewer offen gehabt: Als ich um 17:30 das Programm aktualisiert und gestartet habe, war der Labelhintergrund grün, eine Stunde später nochmal eingewählt, der Hintergrund ist weg. Auaaaaaaaaaaaaaaaaaaaa!!!! |
AW: Labels ohne transparenten Hintergrund
Wie verwendest Du die Doublebuffered Eigenschaft? Z.B. in der Form, welche Du zur Laufzeit in das Tabsheet einfügst? Ändert sich das Verhalten, ween Du das Gegenteil der aktuell verwendeten Einstellung dafür vornimmst?
|
AW: Labels ohne transparenten Hintergrund
TLabel hackt sich beim Parent rein,
TeamViewer hackt sich überall rein, Windows weiß eh oftmals nicht, was es will, vergiß nicht, dass Delphi da auch noch drin rumpfuscht und dann wundert sich jemand, wenn etwas mal nicht richtig läuft. Viele nutzen die Labels "anders" ... könnte auch gut sein, dass es ein "unbekannter" Bug im Delphi/VCL ist. Via RDP, TeamViewer usw. verhalten sich so manche Komponenten bissl "komisch". Sogar bei DevExpress gibt es im RDP manchmal komisch regelämßige Verfärbungen. |
AW: Labels ohne transparenten Hintergrund
Zitat:
Den Tip mit der Doublebuffered-Eigenschaft habe ich jetzt auch erfolglos getestet. Ausserdem habe ich noch ein paar TLabels durch TRzLabels ersetzt. Gestern ein paar mal kontrolliert, alles ok. Heute wähle ich mich wieder ein: Die TLabels haben noch ihre gelbe Schrift auf transparentem Hintergrund, die TRzLabels haben jetzt schwarze Schrift auf transparentem Hintergrund. Suuuuuuuuper. Programm neu gestartet: alles wieder gut. :wall: |
AW: Labels ohne transparenten Hintergrund
Hmm..
Könnte es sein, das der TeamViewer eine dynamische Farbenreduktion durchführt, wenn er meint, dass die Leitung nicht schnell genug ist? Eventuell werden deshalb einige Farben falsch dargestellt, weil diese in den Reduzierten Farbraum nicht reinpassen. Durch die Farbveränderung kann dann auch die Transparentfarbe wegfallen... (Nur so eine Idee ;) ) |
AW: Labels ohne transparenten Hintergrund
Zitat:
Irgendwie kommt mir das so vor, als würde da jemand am Canvas herumfummeln und den alten Zustand nicht wieder herstellen. Oder der Standardschuldige in solchen Fällen: Grafikkartentreiber? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz