【发布时间】:2014-06-16 15:07:27
【问题描述】:
我有一个基于 MFC 的 MDI Visual C++ 2008 应用程序。我正在尝试找到一种将图像用作子窗口(子框架)背景的方法。我一直在寻找各种网站,但似乎找不到解决方案。有谁知道如何实现这个?
【问题讨论】:
-
只需在OnEraseBkgnd()中绘制图像。
标签: visual-c++ visual-studio-2008 mfc
我有一个基于 MFC 的 MDI Visual C++ 2008 应用程序。我正在尝试找到一种将图像用作子窗口(子框架)背景的方法。我一直在寻找各种网站,但似乎找不到解决方案。有谁知道如何实现这个?
【问题讨论】:
标签: visual-c++ visual-studio-2008 mfc
当你想改变一个窗口的背景时,总是同样的方法。
处理 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;
}
【讨论】: