如何从 MDI Visual C++ 2008 应用程序更改子窗口的背景
Posted
技术标签:
【中文标题】如何从 MDI Visual C++ 2008 应用程序更改子窗口的背景【英文标题】:How to change the background of the child window from an MDI Visual C++ 2008 application 【发布时间】:2014-06-16 15:07:27 【问题描述】:我有一个基于 MFC 的 MDI Visual C++ 2008 应用程序。我正在尝试找到一种将图像用作子窗口(子框架)背景的方法。我一直在寻找各种网站,但似乎找不到解决方案。有谁知道如何实现这个?
【问题讨论】:
只需在OnEraseBkgnd()中绘制图像。 【参考方案1】:当你想改变一个窗口的背景时,总是同样的方法。
处理 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;
【讨论】:
以上是关于如何从 MDI Visual C++ 2008 应用程序更改子窗口的背景的主要内容,如果未能解决你的问题,请参考以下文章
将 C++ 项目从 Visual Studio 2008 转换为 Visual Studio 2010
从 Visual Studio C++ 6.0 到 VS 2008?