MFC用代码加入对话框背景图片和button图片

时间:2022-03-26 00:38:11

执行环境:VS2013

一、加入对话框背景图片

①插入位图,把生成的空白位图进行替换(xxx.bmp图片的名称和格式与生成的空白位图保持一致)

②查看属性,得到位图ID

③编写代码:

void CMFC_8Dlg::OnPaint()
{
	if (IsIconic())
	{
		....
	}
	else
	{
		//CDialogEx::OnPaint();

		CPaintDC   dc(this);
		CRect   rect;
		GetClientRect(&rect);
		CDC   dcMem;
		dcMem.CreateCompatibleDC(&dc);
		CBitmap   bmpBackground;
		bmpBackground.LoadBitmap(IDB_BITMAP1);
		//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);

	}
}
二、加入button背景图片

①插入位图,把生成的空白位图进行替换(xxx.bmp图片的名称和格式与生成的空白位图保持一致)

②查看属性,得到位图ID

③编写代码:

void CMFC_8Dlg::OnPaint()
{
	if (IsIconic())
	{
		....
	}
	else
	{
		//CDialogEx::OnPaint();
		HBITMAP   hBitmap;
		hBitmap = (HBITMAP)::LoadImage(
			NULL,
			_T("bitmap2.bmp"),                           // 图片路径(放到.cpp和.h的目录下) 
			IMAGE_BITMAP,                          // 图片格式  
			0, 0,
			LR_LOADFROMFILE | LR_CREATEDIBSECTION);  // 注意LR_LOADFROMFILE  IDC_BUTTON1
		((CButton *)GetDlgItem(IDC_BUTTON1))->SetBitmap(hBitmap);

	}
}
④设置此button的属性,设置Bitmap为True