处理WM_ERASEBKGND消息,进行画背景操作
解决方案 »
- 如何C#和vc的程序联合调试
- OnInitDialog中对控件MoveWindow出错
- 认真学习mfc 小问题也要搞清楚 讨论一下删除指针链表项的写法
- MoveTo LineTo 跟的参数不能精确到0.1吗?
- 救命啊.电脑故障,解决不了了,大家帮忙,谢谢!
- 为什么不能立刻为树形列表项加标记?
- SERVER端和CILENT端在同一台机器上好用,但把CLIENT端放在另一台一起上便连接不上服务器
- 高手请进(特别有请科狐)
- 有谁看过<用VC++实现自绘按钮控制>这片文章,我想实现红底白字怎样做?
- VLD 检测MFC 内存泄露
- 怎样在vc中截取电脑摄像头录取的图像?谢了!
- 分数多阿,关于DDX,大家来看看
Windows向窗口发送一个WM_ERASEBKGND消息通知该窗口擦除背景,可以使用ClassWizard重载该消息的缺省处理程序来擦除背景(实际是画),并返回TRUE以防止Windows擦除窗口。
//Paint area that needs to be erased.
BOOL CSampleView : : OnEraseBkgnd (CDC* pDC)
{
// Create a pruple brush.
CBrush Brush (RGB (128 , 0 , 128) )
// Select the brush into the device context .
CBrush* pOldBrush = pDC—>SelcetObject (&brush)
// Get the area that needs to be erased .
CRect reClip
pDC—>GetCilpBox (&rcClip)
//Paint the area.
pDC—> PatBlt (rcClip.left , rcClip.top , rcClip.Width ( ) , rcClip.Height( ) , PATCOPY )
//Unselect brush out of device context .
pDC—>SelectObject (pOldBrush )
// Return nonzero to half fruther processing .
return TRUE
}
m_hBkBrush =CreateSolidBrush(GetSysColor(COLOR_BTNFACE));
::SetClassLong(this->m_hWnd, GCL_HBRBACKGROUND, (LONG)m_hBkBrush);