添加该背景图后,窗口放缩是否需要重绘背景图?
时间: 2024-03-26 14:40:06 浏览: 46
实现ROI选取、选框放缩移动、背景图像移动放缩
是的,当您在MFC对话框中添加背景图后,如果您的窗口大小发生变化,您需要重绘背景图以适应新的窗口大小。您可以在对话框类的OnSize()函数中添加以下代码来实现:
```c++
void CMyDialog::OnSize(UINT nType, int cx, int cy)
{
CDialogEx::OnSize(nType, cx, cy);
// 重绘背景图片
CImage image;
image.Load(IDB_PNG1);
CDC* pDC = GetDC();
CDC dc;
dc.CreateCompatibleDC(pDC);
CBitmap bmp;
bmp.CreateCompatibleBitmap(pDC, cx, cy);
CBitmap* pOldBitmap = dc.SelectObject(&bmp);
image.Draw(dc, CRect(0, 0, cx, cy));
pDC->BitBlt(0, 0, cx, cy, &dc, 0, 0, SRCCOPY);
dc.SelectObject(pOldBitmap);
}
```
这段代码会在窗口大小发生变化时,重新绘制背景图以适应新的窗口大小。
阅读全文