Solved

Colored Buttons

Posted on 1998-08-31
14
215 Views
Last Modified: 2010-04-02
How do you set the background color of a button in a dialog?

I have tried to override the WM_CTLCOLOR message to no avail.  I have also tried obtaining the devices context of an individual button control again with no results.  I have even tried creating a subclass that is attached to the control whereby I can override certain messages for that control.  I am still stuck with grey buttons.  Please help.
0
Comment
Question by:jerm
  • 5
  • 5
  • 2
  • +2
14 Comments
 
LVL 6

Expert Comment

by:thresher_shark
ID: 1171678
If you are using MFC, go here:

http://www.codeguru.com/buttonctrl/index.shtml

It contains an excellent class for changing button colors along with a great description.  I highly recommend it.
0
 
LVL 7

Expert Comment

by:psdavis
ID: 1171679
> I have tried to override the WM_CTLCOLOR message to no avail.  

Don't even try.  Microsoft has 'by design' not allowed you to change your colors by any 'traditional' methods.  You can change any controls colors except buttons.  (sigh...)

They want you to use only CBitmapButton, but as thresh has so accurately pointed out, codeguru does have some workarounds.

Phillip
0
 
LVL 1

Expert Comment

by:Bridge
ID: 1171680
Look at this; TN062: Message Reflection for Windows Controls
0
 
LVL 7

Expert Comment

by:psdavis
ID: 1171681
Nope! Sorry! I hope you didn't believe what you read in TN062!  It won't work for buttons!
0
 

Accepted Solution

by:
AnthonyJ earned 50 total points
ID: 1171682
Capture this message at the window's parent. It is here that the control's colours can be changed. Unless you check the child control's window id,all the child controls of that type (LISTBOX, COMBOBOX, etc) also get that colour change.
0
 
LVL 6

Expert Comment

by:thresher_shark
ID: 1171683
AnthonyJ - This question has clearly been abandoned, the questioner has never even commented.  You should try to refrain from answering questions such as this.
0
 
LVL 7

Expert Comment

by:psdavis
ID: 1171684
Besides, the answers that we gave proves that the answer is incorrect anyway.  There is no way to change the color of a bitmap without drawing it manually or using a CBitmapButton!

Phillip
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 6

Expert Comment

by:thresher_shark
ID: 1171685
Agreed.  AnthonyJ - You should have read the comments too.
0
 

Expert Comment

by:AnthonyJ
ID: 1171686
Oops. Good advice. I'll look before I leap next time. I should have known my 'solution' would not work in all cases. Anyway thanks for the kick up the arse.
0
 
LVL 6

Expert Comment

by:thresher_shark
ID: 1171687
Hehe, just thought you ought to know. :-)
0
 
LVL 7

Expert Comment

by:psdavis
ID: 1171688
AnthonyJ,

Just a pet pieve.  Its probably more than naught that some people answer old questions with just a 'huh' or a 'wake up' and actually get the points for it.  If this person doesn't respond within x number of days, you get the points.  I'm sure thresh has had it done to him many a times. (just like I have) :)

Phillip
0
 
LVL 6

Expert Comment

by:thresher_shark
ID: 1171689
Yep, I have.

In fact, get this, Answers2000 does this!  nietod and I were trying to help someone in the C++ programming section, but after a few days of no response we just forgot about it.  Then, about two weeks later I submitted a comment that said "Are you still there?  We can help."

Then, about a four days later (with no activity) Answers2000 comes in and submits "Have you died?  Or maybe nietod's Jul 31 comment put you off ?  This is a wake up call ?"

In case you want to see the whole question/comment thing, go here:

http://www.experts-exchange.com/Q.10068386

So don't worry, at least your answers are meaningful.  Answers2000 seems to be in it for the points.  :-(
0
 
LVL 7

Expert Comment

by:psdavis
ID: 1171690
:) :) :) :)

He's done it to me three times already!!! Got a 200 and a 150 from me!!  Definitely unemployed.  :)

Thanks for the complement.

Phillip

0
 

Author Comment

by:jerm
ID: 1171691
Sorry I didn't close this discussion earlier.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

In days of old, returning something by value from a function in C++ was necessarily avoided because it would, invariably, involve one or even two copies of the object being created and potentially costly calls to a copy-constructor and destructor. A…
Templates For Beginners Or How To Encourage The Compiler To Work For You Introduction This tutorial is targeted at the reader who is, perhaps, familiar with the basics of C++ but would prefer a little slower introduction to the more ad…
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now