MyException - 我的异常网
当前位置:我的异常网» VC/MFC » CBrush 对象初始化有关问题

CBrush 对象初始化有关问题

www.myexceptions.net  网友分享于:2013-04-10  浏览:7次
CBrush 对象初始化问题
我是基于对话框的 ,在对框框类视图中增加变量m_brush 然后在对话框的构造函数中进行m_brusn=CreateSolidBrush(RGB(0x18,0x74,0xCD));
然后在OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 引用并返回m_brush,这样做没有问题。


但是如果,将m_brusn=CreateSolidBrush(RGB(0x18,0x74,0xCD));放在OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)中,运行程序就报错。

不知道为什么,求解释~!~~
MFC  CBrush

------解决方案--------------------
一个Brush对象不能反复初始化。必须先清空。
m_brusn.DeleteObject();
m_brusn=CreateSolidBrush(RGB(0x18,0x74,0xCD));
不过你放在OnCtlColor初始化是不合理的。

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有