Discussion:
System Colors of my controls
(too old to reply)
Futronics Developer
2007-10-02 13:21:02 UTC
Permalink
Is it possible to specify the Theam or set of system colors that my
application will use?

I am writing an application and I want to use the different system colors
for buttons etc but I don't want to change the rest of Windows.

Also does anyone know of the best way to create a new theme? Control
Panel/Display only allows you to change some of the colors. VS2005 has many
more System Colors available in the system designer.
Jeff Gaines
2007-10-02 18:02:59 UTC
Permalink
On 02/10/2007 in message
Post by Futronics Developer
I am writing an application and I want to use the different system colors
for buttons etc but I don't want to change the rest of Windows.
I had a discussion on a similar subject this afternoon about web site
design. The answer is you shouldn't change the colours the user has set
up, they are the way they are because that's what the user wants/needs.
--
Jeff Gaines
Futronics Developer
2007-10-04 10:18:02 UTC
Permalink
Yes I see where you're coming from Jeff.
Our system is a mobile in-vehicle system. We want to use the system colors
to swap from day mode to night mode - similar to the way SatNav systems have
a night mode.

So the user of the system won't be setting up the system colors, we will set
up 2 sets of system colors, one for day and one for night.

We would however like to swap colors without changing the rest of the system.
Post by Jeff Gaines
On 02/10/2007 in message
Post by Futronics Developer
I am writing an application and I want to use the different system colors
for buttons etc but I don't want to change the rest of Windows.
I had a discussion on a similar subject this afternoon about web site
design. The answer is you shouldn't change the colours the user has set
up, they are the way they are because that's what the user wants/needs.
--
Jeff Gaines
Kevin Spencer
2007-10-05 11:36:59 UTC
Permalink
You're not talking about System Colors, in that case. You're talking about
application-specific colors, which would be managed by the application.
--
HTH,

Kevin Spencer
Microsoft MVP

DSI PrintManager, Miradyne Component Libraries:
http://www.miradyne.net
Post by Futronics Developer
Yes I see where you're coming from Jeff.
Our system is a mobile in-vehicle system. We want to use the system colors
to swap from day mode to night mode - similar to the way SatNav systems have
a night mode.
So the user of the system won't be setting up the system colors, we will set
up 2 sets of system colors, one for day and one for night.
We would however like to swap colors without changing the rest of the system.
Post by Jeff Gaines
On 02/10/2007 in message
Post by Futronics Developer
I am writing an application and I want to use the different system colors
for buttons etc but I don't want to change the rest of Windows.
I had a discussion on a similar subject this afternoon about web site
design. The answer is you shouldn't change the colours the user has set
up, they are the way they are because that's what the user wants/needs.
--
Jeff Gaines
Scott M
2010-10-31 23:10:23 UTC
Permalink
"You're not talking about System Colors, in that case. You're talking about application-specific colors, which would be managed by the application."

Yes, and no. For instance, you can set the forecolor and backcolor properties to what ever you would like for a combobox, but that only changes the colors of the text and textfield (Leaving the control itself such as the boarder and dropdown button stark white). It is also no good to override the onpaint method as it is not called for controls like combobox and textbox, because these are "painted" not be the application, but the operating system itself. So if I wanted to paint the actual combobox lime-green, I would have to use:

SetSytle(ControlStyles.UserPaint, true)

This causes the application to call the OnPaint method, but the native results look like total crap, and the graphics code you place in the overriding OnPaint will often be "painted" over.

Now, one could roll up their sleaves and dig into a massive graphics project to redefine the looks and actions of this control (taking way more time than they have for this), OR...

If the OS is painting these controls, prehaps we could pass other colors to the OS when painting these controls specifically. "But they would have to be variable then." I hear you say. Well they are, and i think that is what the initial poster was implying here. If I change the color of 3D objects in the "Colors and Apperance" tool to lime-green for the entire system, then my comboboxes look the way I want them to, however, nothing else does. So, MY question is, if the OS is drawing these controls, and the functions performing this drawing accept the color variables set up by "Colors and Apperance", is there a way to intercept that value of "Stark White", and slip in "Lime-Green" just when drawing these controls.

Thank you for your time and knowledge,
Scott M
Post by Futronics Developer
Is it possible to specify the Theam or set of system colors that my
application will use?
I am writing an application and I want to use the different system colors
for buttons etc but I don't want to change the rest of Windows.
Also does anyone know of the best way to create a new theme? Control
Panel/Display only allows you to change some of the colors. VS2005 has many
more System Colors available in the system designer.
Post by Jeff Gaines
On 02/10/2007 in message
I had a discussion on a similar subject this afternoon about web site
design. The answer is you shouldn't change the colours the user has set
up, they are the way they are because that's what the user wants/needs.
--
Jeff Gaines
Post by Kevin Spencer
System Colors are configurable by the user and used across any applications
that reference them. They are not literal colors, but references to colors
configured by the system/user. When you use them, they will change (in your
form) depending on the system configuration on the client computer. The form
does not change the system colors; the system colors change the appearance
of the form.
--
HTH,
Kevin Spencer
Microsoft MVP
http://www.miradyne.net
Post by Futronics Developer
Yes I see where you're coming from Jeff.
Our system is a mobile in-vehicle system. We want to use the system colors
to swap from day mode to night mode - similar to the way SatNav systems have
a night mode.
So the user of the system won't be setting up the system colors, we will set
up 2 sets of system colors, one for day and one for night.
We would however like to swap colors without changing the rest of the system.
Post by Kevin Spencer
You're not talking about System Colors, in that case. You're talking about
application-specific colors, which would be managed by the application.
--
HTH,
Kevin Spencer
Microsoft MVP
http://www.miradyne.net
Submitted via EggHeadCafe - Software Developer Portal of Choice
SharePoint WorkFlow Basics
http://www.eggheadcafe.com/tutorials/aspnet/1fa263fb-d7a6-40f5-8875-356f75d9fca9/sharepoint-workflow-basics.aspx
Scott M
2010-10-31 23:12:27 UTC
Permalink
"You're not talking about System Colors, in that case. You're talking about application-specific colors, which would be managed by the application."

Yes, and no. For instance, you can set the forecolor and backcolor properties to what ever you would like for a combobox, but that only changes the colors of the text and textfield (Leaving the control itself such as the boarder and dropdown button stark white). It is also no good to override the onpaint method as it is not called for controls like combobox and textbox, because these are "painted" not be the application, but the operating system itself. So if I wanted to paint the actual combobox lime-green, I would have to use:

SetSytle(ControlStyles.UserPaint, true)

This causes the application to call the OnPaint method, but the native results look like total crap, and the graphics code you place in the overriding OnPaint will often be "painted" over.

Now, one could roll up their sleaves and dig into a massive graphics project to redefine the looks and actions of this control (taking way more time than they have for this), OR...

If the OS is painting these controls, prehaps we could pass other colors to the OS when painting these controls specifically. "But they would have to be variable then." I hear you say. Well they are, and i think that is what the initial poster was implying here. If I change the color of 3D objects in the "Colors and Apperance" tool to lime-green for the entire system, then my comboboxes look the way I want them to, however, nothing else does. So, MY question is, if the OS is drawing these controls, and the functions performing this drawing accept the color variables set up by "Colors and Apperance", is there a way to intercept that value of "Stark White", and slip in "Lime-Green" just when drawing these controls.

Thank you for your time and knowledge,
Scott M
Post by Futronics Developer
Is it possible to specify the Theam or set of system colors that my
application will use?
I am writing an application and I want to use the different system colors
for buttons etc but I don't want to change the rest of Windows.
Also does anyone know of the best way to create a new theme? Control
Panel/Display only allows you to change some of the colors. VS2005 has many
more System Colors available in the system designer.
Post by Jeff Gaines
On 02/10/2007 in message
I had a discussion on a similar subject this afternoon about web site
design. The answer is you shouldn't change the colours the user has set
up, they are the way they are because that's what the user wants/needs.
--
Jeff Gaines
Post by Kevin Spencer
System Colors are configurable by the user and used across any applications
that reference them. They are not literal colors, but references to colors
configured by the system/user. When you use them, they will change (in your
form) depending on the system configuration on the client computer. The form
does not change the system colors; the system colors change the appearance
of the form.
--
HTH,
Kevin Spencer
Microsoft MVP
http://www.miradyne.net
Post by Futronics Developer
Yes I see where you're coming from Jeff.
Our system is a mobile in-vehicle system. We want to use the system colors
to swap from day mode to night mode - similar to the way SatNav systems have
a night mode.
So the user of the system won't be setting up the system colors, we will set
up 2 sets of system colors, one for day and one for night.
We would however like to swap colors without changing the rest of the system.
Post by Kevin Spencer
You're not talking about System Colors, in that case. You're talking about
application-specific colors, which would be managed by the application.
--
HTH,
Kevin Spencer
Microsoft MVP
http://www.miradyne.net
Post by Scott M
"You're not talking about System Colors, in that case. You're talking about application-specific colors, which would be managed by the application."
SetSytle(ControlStyles.UserPaint, true)
This causes the application to call the OnPaint method, but the native results look like total crap, and the graphics code you place in the overriding OnPaint will often be "painted" over.
Now, one could roll up their sleaves and dig into a massive graphics project to redefine the looks and actions of this control (taking way more time than they have for this), OR...
If the OS is painting these controls, prehaps we could pass other colors to the OS when painting these controls specifically. "But they would have to be variable then." I hear you say. Well they are, and i think that is what the initial poster was implying here. If I change the color of 3D objects in the "Colors and Apperance" tool to lime-green for the entire system, then my comboboxes look the way I want them to, however, nothing else does. So, MY question is, if the OS is drawing these controls, and the functions performing this drawing accept the color variables set up by "Colors and Apperance", is there a way to intercept that value of "Stark White", and slip in "Lime-Green" just when drawing these controls.
Thank you for your time and knowledge,
Scott M
Submitted via EggHeadCafe - Software Developer Portal of Choice
Silverlight 3D Animated Topic Selector With Titled Menu Items
http://www.eggheadcafe.com/tutorials/aspnet/1add6e1c-6c70-4c2f-8b1a-5187961e5414/silverlight-3d-animated-topic-selector-with-titled-menu-items.aspx
Kevin Spencer
2007-10-03 10:51:05 UTC
Permalink
Post by Futronics Developer
I am writing an application and I want to use the different system colors
for buttons etc but I don't want to change the rest of Windows.
System Colors are configurable by the user and used across any applications
that reference them. They are not literal colors, but references to colors
configured by the system/user. When you use them, they will change (in your
form) depending on the system configuration on the client computer. The form
does not change the system colors; the system colors change the appearance
of the form.
--
HTH,

Kevin Spencer
Microsoft MVP

DSI PrintManager, Miradyne Component Libraries:
http://www.miradyne.net
Post by Futronics Developer
Is it possible to specify the Theam or set of system colors that my
application will use?
I am writing an application and I want to use the different system colors
for buttons etc but I don't want to change the rest of Windows.
Also does anyone know of the best way to create a new theme? Control
Panel/Display only allows you to change some of the colors. VS2005 has many
more System Colors available in the system designer.
Loading...