•
•
•
•
What is DaniWeb IT Discussion Community?
You're currently browsing the C section within the Software Development category of DaniWeb, a massive community of 429,779 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 3,939 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our C advertiser: Programming Forums
Views: 5547 | Replies: 1
![]() |
•
•
Join Date: Jun 2005
Posts: 1
Reputation:
Rep Power: 0
Solved Threads: 0
Hi,
I want to change the color of my button during runtime..
i am writing the following code inthe OnCtlColor of my dialog box
the button is IDC_STARTSTOP i want to turn it red..but the interesting thing is the whole dialog box turns red except the buttons...
i have searched the msdn library and I am following all the instruction given in example ...all in vein... any suggestion would be helpful..
thanks,
Hardik
I want to change the color of my button during runtime..
i am writing the following code inthe OnCtlColor of my dialog box
HBRUSH CPIVSyncDlg::OnCtlColor(CDC *pdc,CWnd *pwnd,UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pdc,pwnd,nCtlColor);
switch(nCtlColor)
{
case CTLCOLOR_BTN:
if(pwnd->GetDlgCtrlID() == IDC_STARTSTOP)
pdc->SetBkColor(RGB(255,0,0));
return (HBRUSH)m_btbrush.GetSafeHandle();
case CTLCOLOR_DLG:
pdc->SetBkColor(RGB(255,255,255));
pdc->SetBkMode(TRANSPARENT);
return (HBRUSH)m_hbrush.GetSafeHandle();
case CTLCOLOR_EDIT:
pdc->SetBkColor(RGB(0,0,0));
pdc->SetBkMode(TRANSPARENT);
return (HBRUSH)m_hbrush.GetSafeHandle();
default:
return CDialog::OnCtlColor(pdc,pwnd,nCtlColor);
}
return hbr;
//return (HBRUSH)m_hbrush.GetSafeHandle();
}the button is IDC_STARTSTOP i want to turn it red..but the interesting thing is the whole dialog box turns red except the buttons...
i have searched the msdn library and I am following all the instruction given in example ...all in vein... any suggestion would be helpful..
thanks,
Hardik
•
•
Join Date: Jul 2005
Posts: 1
Reputation:
Rep Power: 0
Solved Threads: 0
the method in "How do I change the background color of a control?" will not work for buttons!
If you want to change the color of a dialog button, you have to use an owner-draw button. (You can use bitmap buttons.) Changing the color through OnCtlColor() will not work for buttons. The following Knowledge Base articles may be of help to you: Q32685, "Using the WM_CTLCOLOR Message,"
If you want to change the color of a dialog button, you have to use an owner-draw button. (You can use bitmap buttons.) Changing the color through OnCtlColor() will not work for buttons. The following Knowledge Base articles may be of help to you: Q32685, "Using the WM_CTLCOLOR Message,"
•
•
•
•
Originally Posted by rangalo
Hi,
I want to change the color of my button during runtime..
i am writing the following code inthe OnCtlColor of my dialog box
HBRUSH CPIVSyncDlg::OnCtlColor(CDC *pdc,CWnd *pwnd,UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pdc,pwnd,nCtlColor); switch(nCtlColor) { case CTLCOLOR_BTN: if(pwnd->GetDlgCtrlID() == IDC_STARTSTOP) pdc->SetBkColor(RGB(255,0,0)); return (HBRUSH)m_btbrush.GetSafeHandle(); case CTLCOLOR_DLG: pdc->SetBkColor(RGB(255,255,255)); pdc->SetBkMode(TRANSPARENT); return (HBRUSH)m_hbrush.GetSafeHandle(); case CTLCOLOR_EDIT: pdc->SetBkColor(RGB(0,0,0)); pdc->SetBkMode(TRANSPARENT); return (HBRUSH)m_hbrush.GetSafeHandle(); default: return CDialog::OnCtlColor(pdc,pwnd,nCtlColor); } return hbr; //return (HBRUSH)m_hbrush.GetSafeHandle(); }
the button is IDC_STARTSTOP i want to turn it red..but the interesting thing is the whole dialog box turns red except the buttons...
i have searched the msdn library and I am following all the instruction given in example ...all in vein... any suggestion would be helpful..
thanks,
Hardik
![]() |
•
•
•
•
•
•
•
•
DaniWeb C Marketplace
•
•
•
•
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
Similar Threads
- Windows GUI - problem with dialog box (C++)
- How to display dialog box items? (C)
- Opening a .pdf file at the clientside without the open/save dialog box (ASP.NET)
- WIN32 GUI application - Problem popping up dialog box (C++)
- Dialog box wrong size (Windows NT / 2000 / XP / 2003)
- Common Open dialog box (C++)
- Dialog Box alongwith Form (Visual Basic 4 / 5 / 6)
Other Threads in the C Forum
- Previous Thread: Declaration of dynamic pointer array puzzle.
- Next Thread: easy question in C...


Linear Mode