Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/VCL/Standard Controls/TRadioButton    [ Add a report in this area ]  
Report #:  71410   Status: Closed
Font.Color for TRadioButton not work, but in VS work
Project:  Delphi Build #:  12.0.3210.17555
Version:    12.1 Submitted By:   Radek Cervinka
Report Type:  Basic functionality failure Date Reported:  2/12/2009 12:52:58 AM
Severity:    Commonly encountered problem Last Updated: 9/24/2009 6:50:05 PM
Platform:    All platforms Internal Tracking #:  
Resolution: Duplicate (Resolution Comments) Resolved in Build: : None
Duplicate of:  28777
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: 3
Description

Font.Color for TRadioButton not work (any Delphi with XP manifest), but in VS 2005 setting color work, so can be possible.

I know that similar entry (
http://qc.codegear.com/wc/qcmain.aspx?d=61745) is closed as designed, but...
Steps to Reproduce:
None
Workarounds
None
Attachment
71410.zip
Comments

Tomohiro Takahashi at 2/12/2009 9:09:46 PM -
Could you please attach some screenshot of VS?

Radek Cervinka at 2/14/2009 10:41:25 AM -
see attachment. screenshot was made with

Microsoft Visual Studio 2005
Version 8.0.50727.762  (SP.050727-7600)
Microsoft .NET Framework
Version 2.0.50727 SP1


//
      // radioButton1
      //
      this.radioButton1.AutoSize = true;
      this.radioButton1.ForeColor = System.Drawing.Color.LightSeaGreen;
      this.radioButton1.Location = new System.Drawing.Point(44, 99);
      this.radioButton1.Name = "radioButton1";
      this.radioButton1.Size = new System.Drawing.Size(85, 17);
      this.radioButton1.TabIndex = 1;
      this.radioButton1.TabStop = true;
      this.radioButton1.Text = "radioButton1";
      this.radioButton1.UseVisualStyleBackColor = true;
      //
      // button1
      //
      this.button1.ForeColor = System.Drawing.Color.Red;
      this.button1.Location = new System.Drawing.Point(57, 150);
      this.button1.Name = "button1";
      this.button1.Size = new System.Drawing.Size(75, 23);
      this.button1.TabIndex = 2;
      this.button1.Text = "button1";
      this.button1.UseVisualStyleBackColor = true;

Eric Kramer at 4/20/2009 8:42:59 AM -
I have seen this issue with several controls including TRadioButton, TCheckBox, TRadioGroup, etc.

There are several scenarios where this issue can cause a problem.  In our particular case, we have some custom controls that have a dark color, so we change the font color of the panel (and all it's children) to a light color so they can be seen.  Most of the child components change font color, such as TLabel, TStaticText, etc.  The Radio Buttons and Checkboxes, however, don't change font color as expected.  I think it would make the most sense to follow the ParentFont property, so whether using runtime themes or not, if the ParentFont property is false, then whatever the Font Color is specified as, that's how it should be rendered.

I have seen several different QC reports for this issue, including:
- Report 61745: http://qc.embarcadero.com/wc/qcmain.aspx?d=61745
- Report 55355: http://qc.embarcadero.com/wc/qcmain.aspx?d=55355
- Report 47957: http://qc.embarcadero.com/wc/qcmain.aspx?d=47957
- Report 28777: http://qc.embarcadero.com/wc/qcmain.aspx?d=28777

All the above reports were closed as being by design.  To me, if you are able to change the color of a panel, then you should be able to change the font color of all controls that could be placed on the panel, otherwise you may not be able to see the text on those child controls.  Any help on this would be much appreciated.

For our product, at this time we cannot currently enable runtime themes because of this problem.  This also leads to our software always being themed with the Windows Classic theme.  It gives the impression our software was designed for Windows 98 or Windows 2000, because it does not look like other software our customer may run, that uses the user's current theme.

Server Response from: ETNACODE01