对话框最大化后背景颜色没有改变 在OnInitDialog()中将ShowWindow(SW_SHOWMAXIMIZED),使得程序运行后对话框最大化,重载OnCtlColor (CDC* pDC, CWnd* pWnd, UINT nCtlColor),将背景色改变,但是运行结果是对话框最大化了,背景色没有完全改变,只有列表框跟编辑框的颜色变了,不知道为什么,请高手赐教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第一,你是怎么改背景色的第二,改背景色你可以重载OnEraseBkgnd OnCtlColor (CDC* pDC, CWnd* pWnd, UINT nCtlColor)是对控件的对于对话框本身的颜色,需要在对话框中的WM_ERASEBKGND消息中来绘制的 明显,你重载错了函数,OnCtlColor是用于更改控件颜色的,要更改对话框背景颜色应重载OnEraseBkgnd函数才对。 HBRUSH CEvaluation1Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: Change any attributes of the DC here return m_blue;}在没有添加ShowWindow(SW_SHOWMAXIMIZED)之前,我用return m_blue;之后,对话框的颜色就变了。没有用到重载OnEraseBkgnd,我试试,谢谢哦 ClistCtrl 请问 Sleep(1) 到底有什么用啊 28岁开始学VC,迟么? 怎么清空视图上的所有图形 看过书,再有点没有搞清,请教一下,关于文件读写的二进制和文本模式 如何防止闪烁??????????? 如何得到一个控件在窗口中的位置座标 这种问题也没有人知道吗!!!怎么向RichEdit中插入图片? 各位大虾,请救小弟我于水火之中吧....:~( -------------xxxbird来拿分!-------------- 不用MFC类 如何调用js函数 MDI 多文档MFC程序如何让新建的Doc子窗口最大化?急
第二,改背景色你可以重载OnEraseBkgnd
对于对话框本身的颜色,需要在对话框中的WM_ERASEBKGND消息中来绘制的
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
return m_blue;
}
在没有添加ShowWindow(SW_SHOWMAXIMIZED)之前,我用return m_blue;之后,对话框的颜色就变了。
没有用到重载OnEraseBkgnd,我试试,谢谢哦