如何为对话框添加背景图片

觉得对话框灰灰的背景色不符合高冷的气质,所以想为对话框添加美美的图片,然后就有了研究了一下下:

首先在网上找到符合你气质的、美美的图,转成.bmp格式存放在res文件夹中,然后在资源视图Birmap添加图片,命名为IDB_BITMAP_DIALOG;

通过类向导为CLeftDockDialog添加消息响应函数WM_PAINT,并添加一下代码:

void CLeftDockDialog::OnPaint()
{
// device context for painting
  // TODO: 在此处添加消息处理程序代码
  // 不为绘图消息调用 CDialogEx::OnPaint()
CRect   rect;
CPaintDC   dc(this);
GetClientRect(rect);
//dc.FillSolidRect(rect, RGB(250, 230, 230));   //设置为绿色背景


CDC   dcMem;


dcMem.CreateCompatibleDC(&dc);


CBitmap   bmpBackground;


bmpBackground.LoadBitmap(IDB_BITMAP_DIALOG);


//IDB_BITMAP是你自己的图对应的ID   


BITMAP   bitmap;


bmpBackground.GetBitmap(&bitmap);


CBitmap   *pbmpOld = dcMem.SelectObject(&bmpBackground);


dc.StretchBlt(0, 0, rect.Width(), rect.Height(), &dcMem, 0, 0,


bitmap.bmWidth, bitmap.bmHeight, SRCCOPY);
}

然后运行,就可以啦,贴一个最后运行的结果


猜你喜欢

转载自blog.csdn.net/weixin_41485242/article/details/79122649