MFC ComBoBox控件背景色更改

时间:2022-06-27 14:50:10
MFC ComBoBox 默认的背景色是白色,请教如何更改他的背景色!!!

12 个解决方案

#1


我响应了 WM_CTLCOLOR 消息,


HBRUSH CWEComboBox::OnCtlColor(CDC* pDC,CWnd* pWnd,UINT nCtlColor)  
{   
HBRUSH hbr = ::CreateSolidBrush(RGB(255,0,0));  
return hbr;  



出现的情况很奇怪

MFC ComBoBox控件背景色更改

求解

#2


ComboBox 里面嵌着一个EDIT,也要改底色才行, CComboBoxEx::GetEditCtrl取得

#3


CComboBoxEx::GetEditCtrl

请教改如何操作!!!

#4


查查MSDN, 然后再想想, 然后再动手改改,,,,

#5



HBRUSH CQwDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: Change any attributes of the DC here
if(CTLCOLOR_EDIT==nCtlColor)
{
pDC-> SetTextColor(RGB(0,   0,   0));
pDC-> SetBkColor(RGB(255,0,0));
hbr = ::CreateSolidBrush(RGB(255,0,0)); 
}
// TODO: Return a different brush if the default is not desired
return hbr;
}

#6


大猫,有效!

#7


是因为你的文字被选中以后的颜色覆盖的问题,你这个时候需要设置文字颜色以及背景颜色即可。同大猫

不过好像 单单背景色就能搞定

#8


“CWnd::OnCtlColor” : 非静态成员函数的非法调用

#9


出现这个错误!!!

#11


已经解决了,感谢!!!

#12


楼主 我也在学,怎么改的 同问啊

#1


我响应了 WM_CTLCOLOR 消息,


HBRUSH CWEComboBox::OnCtlColor(CDC* pDC,CWnd* pWnd,UINT nCtlColor)  
{   
HBRUSH hbr = ::CreateSolidBrush(RGB(255,0,0));  
return hbr;  



出现的情况很奇怪

MFC ComBoBox控件背景色更改

求解

#2


ComboBox 里面嵌着一个EDIT,也要改底色才行, CComboBoxEx::GetEditCtrl取得

#3


CComboBoxEx::GetEditCtrl

请教改如何操作!!!

#4


查查MSDN, 然后再想想, 然后再动手改改,,,,

#5



HBRUSH CQwDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: Change any attributes of the DC here
if(CTLCOLOR_EDIT==nCtlColor)
{
pDC-> SetTextColor(RGB(0,   0,   0));
pDC-> SetBkColor(RGB(255,0,0));
hbr = ::CreateSolidBrush(RGB(255,0,0)); 
}
// TODO: Return a different brush if the default is not desired
return hbr;
}

#6


大猫,有效!

#7


是因为你的文字被选中以后的颜色覆盖的问题,你这个时候需要设置文字颜色以及背景颜色即可。同大猫

不过好像 单单背景色就能搞定

#8


“CWnd::OnCtlColor” : 非静态成员函数的非法调用

#9


出现这个错误!!!

#10


#11


已经解决了,感谢!!!

#12


楼主 我也在学,怎么改的 同问啊