Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi D2009 : Label auf Win7 unsichtbar (https://www.delphipraxis.net/143837-d2009-label-auf-win7-unsichtbar.html)

moelski 24. Nov 2009 13:18


D2009 : Label auf Win7 unsichtbar
 
Moin !

Hab da ne Anwendung mit einem Formular + ein Pagecontrol.
Das Pagecontrol hat dann ein paar Elemente drauf u.a. 2 Label.

Die Label haben lediglich eine andere Textfarbe und sind unterstrichen.

Auf Xp kein Problem. Starte ich das auf Win7 sind die Label verschwunden.

Erstaunlich ist, dass die Label ein OnClick Event haben. Wenn man weiss wo die Label liegen, dann kann man anklicken und das klappt.

Hat jemand ne Idee warum die Label nicht sichtbar sind?!

Habe dann spasshalber noch eine andere Anwendung gemacht mit Form -> Pagecontrol -> Label.
Das ist auf Win7 sichtbar.

:gruebel: Stehe gerade irendwie aufm Schlauch glaube ich :x

himitsu 24. Nov 2009 13:38

Re: D2009 : Label auf Win7 unsichtbar
 
Falls es keine Lösung gibt

TStaticText

Das ist von Windowsseite her mehr ein Label aka STATIC.
TLabel ist 'ne Delphi-interne Sache und wird anders verwaltet.

Medium 24. Nov 2009 13:46

Re: D2009 : Label auf Win7 unsichtbar
 
Der genaue Unterschied ist, dass TLabel nur ein GraphicControl ist, und zum Zeichnen den Canvas des Parents bemüht. Ein TStaticText ist (wie z.B. ein Edit) von und in Windows vordefiniert, und kommt auch mit einem eigenen Canvas daher, und ist im Grunde das selbe wie ein Button, Panel, Edit oder gar Fenster - nur schaut's anders aus. Zu einem StaticText kann man sich daher auch z.B. ein systemweites Handle abholen, welches ein Label u.a. nicht hat.

Dein Problem könnte es also durchaus lösen, da zum einen der Text dann sein eigenes kleines Fenster zum zeichnen hat, und zudem vom OS weitestgehend beigestellt wird, und von Delphi lediglich erzeugt.

Ruio 24. Nov 2009 15:20

Re: D2009 : Label auf Win7 unsichtbar
 
Ich hatta mal das Problem das unter nem anderen Windows die Standard Farben anders waren. Versuch mal ne andre Farbe für Schrift und Hintergrund.

Progman 24. Nov 2009 15:27

Re: D2009 : Label auf Win7 unsichtbar
 
Wir hatten ein ähnliches Problem mit Delphi 2007 und Vista. Da waren die Labels nicht transparent sondern hatten den Hintergrund des Forms zur Design-Time. Abhilfe schaffte ein expliziter Aufruf im OnCreate des Forms, wo nochmal alle Labels Transparent:=True gesetzt wurden.
Vielleicht hilft das da ja auch, alle Labels im OnCreate explizit nochmal zu setzen (Transparent, Font.Color etc.)?

fatalerror 24. Nov 2009 16:14

Re: D2009 : Label auf Win7 unsichtbar
 
evtl. ist es ja der alt bekannte Fehler:

QC #68730: TLabel is not painted on a themed, double-buffered TTabSheet in Vista (7-2009)

Abhilfe schafft evtl. Andreas Hausladens VCL Fixpack


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:32 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