我做一个MDI程序,需要给主框架的客户区添加窗口背景,就是关闭所有活动视图后出现的背景。但程序运行后只有在关闭某个活动视图时或者改变框架窗口大小时才会部分闪现一下我的背景。请问为什么啊。我是创建一个由CWnd派生的窗口管理类进行窗口重绘的。代码:
BOOL CMdiClient::OnEraseBkgnd(CDC* pDC)           //WM_ERASEBKGND消息处理函数
{
// TODO: Add your message handler code here and/or call default

CRect rect;
GetClientRect(&rect);
CBitmap background;
background.LoadBitmapA(IDB_BITMAP);
CDC dc;
dc.CreateCompatibleDC(pDC);
dc.SelectObject(background);
BITMAP bm;
background.GetBitmap(&bm);
   //拷贝位图并充满背景
pDC->StretchBlt(0,0,rect.right-rect.left,rect.bottom-rect.top,&dc,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
pDC->SetBkMode(TRANSPARENT);
return CWnd::OnEraseBkgnd(pDC);
}void CMdiClient::OnSize(UINT nType, int cx, int cy)   //WM_SIZE消息处理函数
{
CWnd::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
RedrawWindow(NULL,NULL,RDW_INVALIDATE|RDW_ERASE|RDW_ERASENOW|RDW_ALLCHILDREN);}另外,我已经在CMainFrame中的OnCreate()中调用了SubclassWindow()函数将我的窗口管理类与m_hWndMDIClient句柄相联系了。