在类的构造函数中将刷子初始化为所需要的背景颜色。
CMyFormView : : CMyFormView ( )
{
m_brush .CreateSolidBrush (RGB ( 0, 0, 255) )
}
处理WM_CTLCOLOR消息并返回一个用来绘画对话背景的刷子句柄。
由于当重画对话控件时也要调用该函数,所以要检测nCtlColor参量。
HBRUSH CMyFormView : : OnCtlColor (CDC* pDC , CWnd*pWnd , UINT nCtlColor)
{
if (nCtlColor = = CTLCOLOR _ DLG )
return (HBRUSH) m_brush.GetSafeHandle ( )
return CFormView : : OnCtlColor (pDC, pWnd , nCtlColor)
}
CMyFormView : : CMyFormView ( )
{
m_brush .CreateSolidBrush (RGB ( 0, 0, 255) )
}
处理WM_CTLCOLOR消息并返回一个用来绘画对话背景的刷子句柄。
由于当重画对话控件时也要调用该函数,所以要检测nCtlColor参量。
HBRUSH CMyFormView : : OnCtlColor (CDC* pDC , CWnd*pWnd , UINT nCtlColor)
{
if (nCtlColor = = CTLCOLOR _ DLG )
return (HBRUSH) m_brush.GetSafeHandle ( )
return CFormView : : OnCtlColor (pDC, pWnd , nCtlColor)
}
BOOL CSampleView : : OnEraseBkgnd (CDC* pDC)
{
CBrush Brush (RGB (128 , 0 , 128) )
CBrush* pOldBrush = pDC—>SelcetObject (&brush)
CRect reClip
pDC—>GetCilpBox (&rcClip)
pDC—> PatBlt (rcClip.left , rcClip.top , rcClip.Width ( ) , rcClip.Height( ) , PATCOPY )
pDC—>SelectObject (pOldBrush )
return TRUE
}
非也,我见过的,但不是通过改变显示属性。