bmp文件是存在的,但是为什么显示不出来呢,请您帮忙,多谢!
CDC *pDC=GetDC();
HBITMAP hBmp = (HBITMAP)::LoadImage(
AfxGetInstanceHandle(),
"111.bmp",
IMAGE_BITMAP,
0,0,
LR_CREATEDIBSECTION);
CBitmap cBmp;
cBmp.Attach(hBmp);
CDC dcMem;
dcMem.CreateCompatibleDC(pDC);
CBitmap *pcOldBmp = dcMem.SelectObject(&cBmp);
pDC->BitBlt(0, 0, 100, 200, &dcMem, 0, 0, SRCCOPY);
如果这种方法不行,那请举例说明,多谢!
CDC *pDC=GetDC();
HBITMAP hBmp = (HBITMAP)::LoadImage(
AfxGetInstanceHandle(),
"111.bmp",
IMAGE_BITMAP,
0,0,
LR_CREATEDIBSECTION);
CBitmap cBmp;
cBmp.Attach(hBmp);
CDC dcMem;
dcMem.CreateCompatibleDC(pDC);
CBitmap *pcOldBmp = dcMem.SelectObject(&cBmp);
pDC->BitBlt(0, 0, 100, 200, &dcMem, 0, 0, SRCCOPY);
如果这种方法不行,那请举例说明,多谢!
改成LR_LOADFROMFILE
CBitmap *bitmap=new CBitmap;
mdc->CreateCompatibleDC(&dc);
bitmap->m_hObject=(HBITMAP)::LoadImage(NULL,"111.bmp",IMAGE_BITMAP,100,200,LR_LOADFROMFILE);
mdc->SelectObject(bitmap);
dc.BitBlt(0,0,100,200,mdc,0,0,SRCCOPY);
CDib m_dibFile;
#ifdef MEMORY_MAPPED_FILES if (m_dibFile.AttachMapFile
( strAddress,TRUE)==TRUE)
{ // share
Invalidate();
}
#else
CFile file;
file.Open(strAddress, CFile::modeRead);
if (m_dibFile.Read(&file) == TRUE)
{
Invalidate();
}
#endif // MEMORY_MAPPED_FILES
CClientDC dc(this);
m_dibFile.SetSystemPalette(&dc);
然后在OnPaint()中加入
BeginWaitCursor();
m_dibFile.UsePalette(GetDC());
CSize sizeFileDib = m_dibFile.GetDimensions();
m_dibFile.Draw(GetDC() ,CPoint(0,0), sizeFileDib);
EndWaitCursor();