2014-06-16 43 views
1

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

+1

只需在[OnEraseBkgnd()](http://msdn.microsoft.com/en-us/library/a0a52fkz.aspx)中绘制图像即可。 –

回答

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; 
} 
相关问题