Problem Seting forground color on a CheckBox Control

Started by Marty Francom, June 12, 2005, 02:21:47 AM

Previous topic - Next topic

Marty Francom

When I change the foreground color of a Check Box control.  The color will not change.  Changing the background color works fine.  And changing the forground color on on a label control works.  Only changing the forground color on a check box control seems not to be working.  Is this a known problem?
...
Also, when I change the color of a tab control, only the body of the control changes color, the tab bar remains the original color.  Can the Tab Bar color be changed?
...
Since, a button control does not have color property I suspect there is no way to change its color (other than using WinLift).

Roger Garstang

Checkbox coloring only works with XP Themes off.  Themes override the colors, so if you have XP you need to make sure you aren't including the Theme XML file in the app so themes are off in it.

Marty Francom

Yes, that was the problem... when the program compiles then the color shows correctly.
However, in the FF designer the color remains the default black.  Can that be changed?
...Marty

TechSupport

Quote from: Marty FrancomYes, that was the problem... when the program compiles then the color shows correctly.
However, in the FF designer the color remains the default black.  Can that be changed?
...Marty
It works fine for me in Windows 2000. Maybe you should remove the file "FFEngine.exe.Manifest" from the FireFly EXE directory ???? That should remove the WinXP Theme support for the FireFly application.

Roger Rines

I'm having the same problem as Marty reported.  In my case, WinXP Pro is setup to use the Classic Window styles.  Is there a place where Themes are controlled in WinXP Pro?

If not, then I don't know how to fix the Checkboxes from showing black.  Removing the FFEngine.exe.Manifest doesn't change anything unless something in the code building now needs to be pulled out.

Ideas?

TechSupport

I am re-installing WinXP on a spare computer now.... I will post again once it is complete and I have run some tests.

TechSupport

I installed WinXP. I changed to "Windows Classic"
Control Panel -> Appearance and Themes -> Change the Computer's Theme

I installed FireFly, created a sample project with a few checkboxes. I changed the foreground colors of each CheckBox and they displayed in the designer using the chosen colors. I then ran the project and the resulting EXE showed the correct colors.

I never touched the manifest file at all.....

So, I am stumped as to why it is not working for you.

Roger Rines

QuoteControl Panel -> Appearance and Themes -> Change the Computer's Theme
When I look in my Control Panel, I didn't see anything that says:
 Appearance and Themes until I went in the DISPLAY control and then clicked on the tab "APPEARANCE".

Control Panel -> Display ||-> Click on Appearance -> Change Theme ComboBox to Window's Classic.

This was certainly confusing as the Setting under the Start Button is set to Window's Classic.

Go figure!

Any idea if there is any way to get around this?

With installations being only partly bothered by this Display setting, it makes the use of WinLIFT unpredictable when an application is distributed.  Has anyone else come to another conclusion?

Thanks Paul!

TechSupport

Hi Roger,

Looks like your WinXP is in "Classic View". That is why you see those traditional icons such as "Display", "Mouse", "Keyboard", etc... When I installed WinXP it defaults to the newer "Category View". It is easy to switch between the two.

QuoteWith installations being only partly bothered by this Display setting, it makes the use of WinLIFT unpredictable when an application is distributed. Has anyone else come to another conclusion?
I haven't used WinLift much. Actually, I have used WinXP even less !! I have never liked that O/S. It wrecks havoc on everything we have learned as Win32 programmers.

Roger Garstang

If themes are a big hassle and no one likes/uses them, you can login as an admin user and go to the Admin Tools/Services and turn off the Themes service all together.  Then it isn't loaded taking up space and you never have themes on.

Also, it isn't just the Theme manifest file you have to delete...Paul made that so FF itself shows properly per the XP Theme setting in FF's options.  If the setting itself is still on (in FF) and/or there is the XP Theme XML added to your apps resource then your app will have themes...and if the setting is on then FF will recreate/rename the file.  If XP Themes are off in FF and you aren't including the XML for Themes as a Resource then even if themes are on in Windows your app will show like Win9x style and only the Titlebar and maybe the scrollbars will have themes applied.