MFC加背景图片的两种方法

版权声明:归所有菜鸟所有 https://blog.csdn.net/weixin_41752475/article/details/89222845

第一种方法
在对话框添加Picture Control控件(注意要先添加,要不然其他控件先添加时,运行时被挡住了)
Picture Control控件
PIcture Control控件
设置控件属性:
在这里插入图片描述
注意,先要添加一个Bitmap
资源试图,先把对话框拉大一点,把其他控件设置好,再拖到Picture Control控件上去

第二种方法

void *****Dlg::OnPaint()
{
	*******
	else
	{
	    //CDialogEx::OnPaint();********************此处要注释掉
		CPaintDC   dc(this);
		CRect   rect;
		GetClientRect(&rect);    //获取对话框长宽      
		CDC   dcBmp;             //定义并创建一个内存设备环境
		dcBmp.CreateCompatibleDC(&dc);             //创建兼容性DC
		CBitmap   bmpBackground;
		bmpBackground.LoadBitmap(IDB_BITMAP1);    //载入资源中图片
		BITMAP   m_bitmap;                         //图片变量               
		bmpBackground.GetBitmap(&m_bitmap);       //将图片载入位图中
		//将位图选入临时内存设备环境
		CBitmap  *pbmpOld = dcBmp.SelectObject(&bmpBackground);
		//调用函数显示图片StretchBlt显示形状可变
		dc.SetStretchBltMode(HALFTONE);             //***********添加于此,背景失真
		dc.StretchBlt(0, 0, rect.Width(), rect.Height(), &dcBmp, 0, 0, m_bitmap.bmWidth, m_bitmap.bmHeight, SRCCOPY);
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_41752475/article/details/89222845