怎样添加MFC的背景图片?该怎么解决
怎样添加MFC的背景图片??
我只会MFC的插入bmp的图片,可是想要插入一张背景图片使界面变得更加美观。。。有木有那位大侠知道代码。。。。。。。。感谢拉!!!
------解决方案--------------------
使用CDC,然后在对话框上绘制就可以了,你百度一下,很多源码的。
------解决方案--------------------
我只会MFC的插入bmp的图片,可是想要插入一张背景图片使界面变得更加美观。。。有木有那位大侠知道代码。。。。。。。。感谢拉!!!
------解决方案--------------------
使用CDC,然后在对话框上绘制就可以了,你百度一下,很多源码的。
------解决方案--------------------
- C/C++ code
LoadImage(CString pathName,CDC* pDC) { IStream* pStream; IPicture* pPicture; CFile file; if(!file.Open(pathName,CFile::modeRead)) return; DWORD m_nFileLen; m_nFileLen=file.GetLength(); HGLOBAL hMem=::GlobalAlloc(GMEM_MOVEABLE,m_nFileLen); LPVOID lpBuf=::GlobalLock(hMem); if(file.ReadHuge(lpBuf,m_nFileLen)!=m_nFileLen) return; file.Close(); ::GlobalUnlock( hMem ); if(CreateStreamOnHGlobal(hMem,TRUE,&pStream)!=S_OK) return; if(OleLoadPicture(pStream,m_nFileLen,TRUE,IID_IPicture,(LPVOID*)&pPicture)!=S_OK) return; long nWidth,nHeight; pPicture->get_Width( &nWidth ); pPicture->get_Height( &nHeight ); CSize sz( nWidth, nHeight ); pDC->HIMETRICtoDP( &sz ); pPicture->Render(pDC->m_hDC,0,0,sz.cx,sz.cy,0,nHeight,nWidth,-nHeight,NULL); pPicture->Release(); pStream->Release(); }
------解决方案--------------------
- C/C++ code
CDC *pDC = new CDC; CRect rectbk; // 客户区的大小 CDC dcMen; // 内存设备描述表 CBitmap bmbk; // 位图对象 bmbk.LoadBitmap(IDB_BITMAP_BACKGROUD); // 从资源加载位图 bitmap BITMAP stBitmap; bmbk.GetObject(sizeof(BITMAP),&stBitmap); // 得到位图bitmap的大小 CSize bmsize(stBitmap.bmWidth,stBitmap.bmHeight); dcMen.CreateCompatibleDC(pDC); // 创建兼容的设备描述表 CBitmap *pold=dcMen.SelectObject(&bmbk); // 选入新的位图对象并保存旧的位图对象 GetClientRect(&rectbk);// 取得客户区的大小 pDC->StretchBlt(rectbk.left,rectbk.top,rectbk.Width(), rectbk.Height(),&dcMen,0,0,bmsize.cx,bmsize.cy,SRCCOPY);//从内存向屏幕复制位图对象 dcMen.SelectObject(pold);// 恢复旧的位图对象 dcMen.DeleteDC();// 释放内存设备描述表 delete pDC;