Component: TLabel
Component: TLabel
Property: Transparent
Delphi XE
Why is the property Transparent depending on the Windows Theme setting?
If my theme is set to "Windows 7" or "Windows 7 Basic", the property is default True.
If my theme is set to "Windows Classic", the property is default False.
What am I missing?
Property: Transparent
Delphi XE
Why is the property Transparent depending on the Windows Theme setting?
If my theme is set to "Windows 7" or "Windows 7 Basic", the property is default True.
If my theme is set to "Windows Classic", the property is default False.
What am I missing?
I think it may have to do with the look and feel of the application.
ReplyDeleteBut I could be wrong.
We've have a Form that uses TLabels on a TImage and want them to be transparent.
ReplyDeleteIf this Form is displayed on a Windows with Themes active, everything is fine.
If Themes are disabled, the TLabels are not transparent anymore.
Using a different Control is not feasible.
Setting Transparent := True in OnShow is ok but I just want to know why the implementation is the way it is.
Seems like a bug they refused to fix (closed "as designed"):
ReplyDeletehttp://qc.embarcadero.com/wc/qcmain.aspx?d=2535
As Designed Seppy Bloomm 1/27/2004 11:27:45 AM
ReplyDeleteComment: When using themes you give up control of the background color. If you explicitly set ParentBackground to False (either at design time or runtime), you can override the background color even when themes are enabled.
From http://qc.embarcadero.com/wc/qcmain.aspx?rc=2535
Also in XE, and also about TLabel (and others). When I place a TLabel on a form (actually on a TMS SmoothPanel, in this app), Transparent is set True, but the label is not, at run-time, transparent. To fix this I have to set Transparent False, then True. Tedious. Must be a feature.
ReplyDelete