【问题标题】:How to change the background of the child window from an MDI Visual C++ 2008 application如何从 MDI Visual C++ 2008 应用程序更改子窗口的背景
【发布时间】:2014-06-16 15:07:27
【问题描述】:

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

【问题讨论】:

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


【解决方案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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    相关资源
    最近更新 更多