通过OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)返回画刷return Mybrush修改不了对话框背景颜色;HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
if(nCtlColor == CTLCOLOR_BTN)
{
HBRUSH hbr = CDiaDlg::OnCtlColor(pDC, pWnd, nCtlColor);
return hbr;
} return MyBrush;
}打了断点调试,发现程序根本没运行到return MyBrush这一步,为什么?有没其它修改对话框默认背景颜色的方法?我在OnEraseBkgnd里面有修改对话框背景颜色(黑色),但是对话框在某些情况下还是显示为白色。
{
if(nCtlColor == CTLCOLOR_BTN)
{
HBRUSH hbr = CDiaDlg::OnCtlColor(pDC, pWnd, nCtlColor);
return hbr;
} return MyBrush;
}打了断点调试,发现程序根本没运行到return MyBrush这一步,为什么?有没其它修改对话框默认背景颜色的方法?我在OnEraseBkgnd里面有修改对话框背景颜色(黑色),但是对话框在某些情况下还是显示为白色。
CTLCOLOR_DLG 才是对话框
你话对话框的背景色用这个 方法好像多次一举!直接onpaint 和onerasebkground就可以了!
onpaint中fillsolidrect