在VC.NET中重载OnCtlColor函数改变控件的背景色时,重载函数为什么不起作用??
我在VC6.0中通过下面的操作可以改变对话框MyDialog中LISTBOX控件的背景色
在MyDialog.h文件中添加成员变量和重载函数
CBrush m_brush;
HBRUSH OnCtlColor(CDC* pDC,CWnd* pWnd,UINTnCtlColor)
在MyDialog.CPP中添加重载函数和画刷
在MyDialog::OnInitDialog()中添加
m_brush.CreateSolidBrush(RGB(0,0,255)); //背景色
HBRUSH MyDialog::OnCtlColor(CDC* pDC,CWnd* pWnd,UINT nCtlColor)//重灾函数
{
HBRUSH hbr=MyDialog::OnCtlColor(pDC,pWnd, nCtlColor);
if(nCtlColor==CTLCOLOR_LISTBOX)
{
return m_brush;
{
return hbr
}
但是我把这段代码 在Visual Studio2005 的VC 中时实践时 ,发现listbox背景色不会改变。这是为什么啊? 我用单步调试发现程序不会触发该重载函数!为什么在VC.NET中重载该函数会不行呢? 谢谢大家多多指点!
[解决办法]
不懂也要帮楼主顶顶
[解决办法]
return m_brush;
{
return hbr
}
试下 改成: hbr=CreateSolidBrush(RGB(0,0,255));
return hbr;
[解决办法]
不懂也要帮楼主顶顶
[解决办法]
不懂也要帮楼主顶顶