具体的讲:
bmp文件路径:d:\abc.bmp;
CBitmap m_mybitmap;m_mybitmap.LoadBitmap()如何将"d:\abc.bmp"动态加载,而不是设计时将"d:\abc.bmp"作为资源;
bmp文件路径:d:\abc.bmp;
CBitmap m_mybitmap;m_mybitmap.LoadBitmap()如何将"d:\abc.bmp"动态加载,而不是设计时将"d:\abc.bmp"作为资源;
1)
CGraphDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
HBITMAP hBitmap = (HBITMAP) LoadImage(NULL, _T ("c:\\backgrnd.bmp"), IMAGE_BITMAP,
0, 0, LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE);
m_bitmaptest->Attach(hBitmap);
if(hBitmap==NULL)
MessageBox("error");
BITMAP bm1;
m_bitmaptest->GetObject(sizeof(BITMAP),&bm1);
CDC dcImage;
if (!dcImage.CreateCompatibleDC(pDC))
return ;
CBitmap* pOldBitmap = dcImage.SelectObject(m_bitmaptest);
CRect rect_t1;
GetClientRect(&rect_t1);
for(int wide_x=0;wide_x<rect_t1.right;wide_x+=bm1.bmWidth)
for(int wide_y=0;wide_y<rect_t1.bottom;wide_y+=bm1.bmHeight)
{
pDC->BitBlt( wide_x, wide_y, bm1.bmWidth, bm1.bmHeight, &dcImage, 0, 0, SRCCOPY );
}
dcImage.SelectObject(pOldBitmap);
DeleteObject(m_bitmaptest->Detach());
2)
设lpszName 是你要加载的位图路径,pDC是显示DC
则:
const char* lpszName = "c:\\test.bmp";
HBITMAP hBitmap = (HBITMAP)::LoadImage(NULL,
lpszName,
IMAGE_BITMAP,
0,
0,
LR_LOADFROMFILE);
CBitmap bmp;
bmp.Attach(hBitmap);
BITMAP bm;
bmp.GetBitmap(&bm);
CDC memDC;
memDC.CreateCompatibleDC(pDC);
CBitmap *pOldBmp = memDC.SelectObject(&bmp);
pDC->BitBlt(0,0,bm.bmWidth,bm.bmHeight,&memDC,0,0,SRCCOPY); memDC.SelectObject(pOldBmp);
---------------------------------------
void CTestListDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
HBITMAP hBitmap; hBitmap=(HBITMAP)LoadImage(
::AfxGetInstanceHandle(),"res\\background.bmp",
IMAGE_BITMAP,0,0,
LR_LOADFROMFILE|LR_CREATEDIBSECTION);
ASSERT( hBitmap);
HBITMAP hOldBitmap;
CDC MemDC;
CRect rect;
CDC *pDC=this->GetDC();
MemDC.CreateCompatibleDC(pDC);
GetClientRect(rect);
hOldBitmap=(HBITMAP)MemDC.SelectObject(hBitmap);
pDC->BitBlt(0,0,rect.Width(),rect.Height(),&MemDC,0,0,SRCCOPY);
MemDC.SelectObject(hOldBitmap); // Do not call CDialog::OnPaint() for painting messages
}
用LoadImage()就可以了!用法楼上的就行了!