AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Labels ohne transparenten Hintergrund

Ein Thema von Rainer Wolff · begonnen am 17. Okt 2017 · letzter Beitrag vom 19. Okt 2017
Antwort Antwort
Rainer Wolff

Registriert seit: 25. Okt 2005
Ort: Bretten
321 Beiträge
 
Delphi 10.4 Sydney
 
#1

Labels ohne transparenten Hintergrund

  Alt 17. Okt 2017, 16:14
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?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#2

AW: Labels ohne transparenten Hintergrund

  Alt 17. Okt 2017, 16:20
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Rainer Wolff

Registriert seit: 25. Okt 2005
Ort: Bretten
321 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Labels ohne transparenten Hintergrund

  Alt 17. Okt 2017, 16:51
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.
Genau so mache ich das ja, also label.transparent=false, label.color=clTeal, parentcolor=false (im Object Inspector, nicht per Code).

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????
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#4

AW: Labels ohne transparenten Hintergrund

  Alt 17. Okt 2017, 20:44
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.

Transparent=False bedeutet da eigentlich, dass das TLabel in seinem Bereich alles übermalt.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (17. Okt 2017 um 20:55 Uhr)
  Mit Zitat antworten Zitat
Rainer Wolff

Registriert seit: 25. Okt 2005
Ort: Bretten
321 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Labels ohne transparenten Hintergrund

  Alt 17. Okt 2017, 21:12

Transparent=False bedeutet da eigentlich, dass das TLabel in seinem Bereich alles übermalt.
Warum macht es das dann nicht??? grummel

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!!!!
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.537 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Labels ohne transparenten Hintergrund

  Alt 17. Okt 2017, 22:53
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?

Geändert von Harry Stahl (18. Okt 2017 um 11:53 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#7

AW: Labels ohne transparenten Hintergrund

  Alt 18. Okt 2017, 10:38
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Rainer Wolff

Registriert seit: 25. Okt 2005
Ort: Bretten
321 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Labels ohne transparenten Hintergrund

  Alt 19. Okt 2017, 15:18
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.
Das passiert aber nicht nur bei Fernwartung, sondern auch direkt am Bildschirm.

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.
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
970 Beiträge
 
Delphi 6 Professional
 
#9

AW: Labels ohne transparenten Hintergrund

  Alt 19. Okt 2017, 16:17
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 )
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#10

AW: Labels ohne transparenten Hintergrund

  Alt 19. Okt 2017, 16:31
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.
Ich vermute mal, du kannst das nicht in einem simplen Projekt forcieren?

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?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 Uhr.
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