Question { 6918 }
How can i change the color of a dropdowncombobox elements
Answer
to change color of all controls
window message "WM_CTLCOLOR" needs to process
in MFC this can be done by modifying OnCtlColor()
eg.
HBRUSH CTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd,
UINT nCtlColor)
{
HBRUSH hbr;
switch (nCtlColor)
{
// process my edit controls by ID.
case CTLCOLOR_EDIT:
case CTLCOLOR_MSGBOX:
switch (pWnd->GetDlgCtrlID())
{
// first CEdit control ID
case IDC_MYCONTROLNAME1:
// put your own CONTROL ID here
pDC->SetBkMode(TRANSPARENT); // make text
// background transparent
pDC->SetTextColor(RGB(255,0,0));
// change the text color to red.
hbr = (HBRUSH) GetStockObject(NULL_BRUSH);
// apply a null brush, so control's rectangle
// isn't filled.
break;
// otherwise, do default handling of OnCtlColor
default:
hbr=CDialog::OnCtlColor(pDC,pWnd,nCtlColor);
}
return hbr; // return brush
}
refer
http://www.codeguru.com/cpp/controls/editctrl/backgroundcolor/article.php/c3929/
for more information