方法一: 1、声明成员变量CBrush m_brush; 2、在InitDialog中添加代码: CBitmap bmp; bmp.LoadBitmap(IDB_BITMAP1); //这个IDB_BITMAP1要自己添加 m_brush.CreatePatternBrush(&bmp); 3、重载对话框的OnCtlColor,改最后的返回值: return (HBRUSH)m_brush; 方法二: 把下面这段代码加进OnPaint()里就行了 CPaintDC dc(this); CBitmap bitmap; bitmap.LoadBitmap(IDB_BITMAP1); //这个IDB_BITMAP1要自己添加 CBrush brush; brush.CreatePatternBrush(&bitmap); CBrush* pOldBrush =dc.SelectObject(&brush); dc.Rectangle(0,0,200,200); // 这些参数可以调整图片添加位置和大小 dc.SelectObject(pOldBrush); 方法三:使用StretchBlt()函数,具有图像自适应窗体功能 CPaintDC dc(this); CBitmap m_bmpBK; m_bmpBK.LoadBitmap(IDB_BITMAP1); CRect rect; GetClientRect(&rect);//获得目标尺寸,即窗口客户区的坐标 BITMAP bitMap;//位图结构体 m_bmpBK.GetBitmap(&bitMap);//获得原图片尺寸 CDC dcMem; //目标DC dcMem.CreateCompatibleDC(&dc); //创建与dc兼容的内存DC dcMem.SelectObject(&m_bmpBK);//将位图对象m_bmpBK选入内存DC dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitMap.bmWidth,bitMap.bmHeight,SRCCOPY);
VS2008 MFC 对话框 如何 添加背景图片
最新推荐文章于 2021-05-23 08:39:20 发布