如何为对话框添加背景图片
觉得对话框灰灰的背景色不符合高冷的气质,所以想为对话框添加美美的图片,然后就有了研究了一下下:
首先在网上找到符合你气质的、美美的图,转成.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);
}
然后运行,就可以啦,贴一个最后运行的结果