ComboBox的看似简单,但难度超高的有关问题(100分)

ComboBox的看似简单,但难度超高的问题(100分)
有一ComboBox控件
怎么改变他的背景颜色和文字颜色(包括本身的颜色和下拉的那个框里的颜色)
ComboBox有DropDown属性,而不是DropList(也就是说除了选择还可以自己填的那种)

不要随便回答,要实验确实可以才行哦


------解决方案--------------------
我不随便回答,重载控件类。
------解决方案--------------------
重载……

套用某神人对我说的一句经典名言

“不要想着怎么去用控件,而是应该想怎么把控件改成你想要用的那个!”
------解决方案--------------------
http://www.codeproject.com/combobox/SuperComboBox.asp
------解决方案--------------------
好像在OnCtlColor里就可以的啊
我测试成功了的
不信你试试

BOOL CXXDlg::OnInitDialog()
{
....
m_brush =CreateSolidBrush(RGB(0,0,0));
....
}


HBRUSH CXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if( pWnd-> GetDlgCtrlID() == IDC_COMBO1 )//IDC_COMBO1 是要变色的ComboBox
{
if (nCtlColor==CTLCOLOR_LISTBOX ||nCtlColor==CTLCOLOR_EDIT)
{
pDC-> SetTextColor (RGB (0, 250 ,220));
pDC-> SetBkColor (RGB (0,0,0));
return m_brush;
}
}
// TODO: Return a different brush if the default is not desired
return hbr;
}