VC中为对话框添加背景图片

From: http://blog.ezcn8.com/2011/06/11/vc%E4%B8%AD%E4%B8%BA%E5%AF%B9%E8%AF%9D%E6%A1%86%E6%B7%BB%E5%8A%A0%E8%83%8C%E6%99%AF%E5%9B%BE%E7%89%87/


VC中为对话框添加背景图片也很简单,可以有以下两种方法:


1. 使用画刷CBrush
void CDlg::OnPaint()
{
	CPaintDC dc(this);//用于画图的设备上下文

	//加载背景位图
	CBitmap bitmap;
	bitmap.LoadBitmap(IDB_BITMAP1);

	CBrush brush(&bitmap);//建立画刷
	dc.SelectObject(brush);
	CRect rect;
	GetClientRect(rect);//获得客户区大小
	dc.Rectangle(rect);//画矩形,并用图片的画刷填充
}

2. 使用CDC::bitblt函数直接画上去
CPaintDC dc(this);// 用于绘制的设备上下文
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);
CDC dcMemory;
dcMemory.CreateCompatibleDC(&dc);//创建内存DC
CBitmap *pOldBmp = dcMemory.SelectObject(&bmp);
CRect rect;
GetClientRect(rect);
dc.BitBlt(0, 0, rect.Width(), rect.Height(), &dcMemory, 0, 0, SRCCOPY);
dcMemory.SelectObject(pOldBmp);


你可能感兴趣的:(c)