MFC 窗口Dialog 添加背景图片

(1)添加要设置为背景的图片资源(格式为bmp),将图片(命名为homepage.bmp)放到工程下的资源文件夹中(res)。

(2)在工程的Bitmap中右键添加资源,选Bitmap,导入,选择(1)中的图片文件(homepage.bmp),并将添加的Bitmap资源文件命名为IDB_Homepage。

(3)在要添加背景图片的资源Dialog中右键—>类向导—>消息,在消息中选择:WM_ERASEBKGND,在OnEraseBkgnd函数中添加如下代码:

BOOL CLogin::OnEraseBkgnd(CDC* pDC)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值

  	//背景图片
	//获得客户区尺寸
	CRect rect;
	GetClientRect(&rect);
	//加载背景位图
	CBitmap bmpBackground;
	bmpBackground.LoadBitmap(IDB_Homepage); //图片ID

	BITMAP bitmap;   

	bmpBackground.GetBitmap(&bitmap); 
	//选择位图
	//创建内存DC
	CDC dc;
	dc.CreateCompatibleDC(pDC);

	CBitmap* pOldBitmap=dc.SelectObject(&bmpBackground);
	//绘制位图
	SetStretchBltMode(pDC->m_hDC,STRETCH_HALFTONE);//设置指定设备环境中的位图拉伸模式。
	pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dc,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);
	//恢复原有位图
	dc.SelectObject(pOldBitmap);
	return TRUE;
}





你可能感兴趣的:(VC/MFC,c++,mfc,位图)