如何从MDI Visual C ++ 2008应用程序更改子窗口的背景

时间:2014-06-16 15:07:28

标签: visual-c++ visual-studio-2008 mfc

我有一个基于MFC的MDI Visual C ++ 2008应用程序。我试图找到一种方法来使用图像作为子窗口(子框架)的背景。我一直在寻找各种网站,但我似乎无法找到解决方案。有谁知道如何实现这个?

1 个答案:

答案 0 :(得分:2)

当您想要更改窗口的背景时,它总是一样的。

处理WM_ERASEBKGND(OnEraseBkGnd)。在给定DC上绘制位图并返回TRUE 使用StretchBlt或将其用作画笔。

BOOL CMyClientWnd::OnEraseBkgnd(CDC* pDC) 
{  
   CBrush* pbrushOld = pDC->SelectObject(&m_brush);
   CRect rect;
   pDC->GetClipBox(&rect);
   pDC->PatBlt(rect.left, rect.top, rect.Width(), rect.Height(), PATCOPY);
   pDC->SelectObject(pbrushOld);
   return TRUE;
}