问:如何在背景中显示一个图标.
答:你可能已经发现改写OnEraseBkgn()(对应消息WM_ERASEBKGND)可以满
足你的要求. 通过使用该方法可以实现由Cview继承类的自定义背
景显示.我通常是用它改变颜色, 但我相信你也可以实现位图的显示.至于
改变背景颜色,只需设置一个静态标志用下面 的代码就可以实现.
BOOL CMyView::OnEraseBkgnd(CDC* pDC)
Crect cClientRect;
// Get client area.
GetClientRect( cClientRect );
if( m_bFlag )
{
/ Set background to dark green.
DC->FillSolidRect( cClientRect, RGB( 0, 128, 0 ) );
}
else
{
/ Set background to dark red.
DC->FillSolidRect( cClientRect, RGB( 128, 0, 0 ) );
}
// Prevent Windows from drawing over our background.
Return( TRUE );
// return CScrollView::OnEraseBkgnd(pDC);
} /* end CMyView::OnEraseBkgnd */