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);
如果这种方法不行,那请举例说明,多谢!

解决方案 »

  1.   

    LR_CREATEDIBSECTION用错了
    改成LR_LOADFROMFILE
      

  2.   

    CDC *mdc=new CDC;
    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);
      

  3.   

    在对话框的OnInitDialog()函数中加入
    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();