如何从 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?

如何使用 Visual c++ 2008 编译 64 位

Visual C++ 编程技巧之二

如何在 vc 2008 上使用“Visual C++ 2008 Feature Pack”?

如何在 Visual Studio 2008 和 C++ 中显示希腊字符? [复制]