我现在有一张位图,不想把它导成资源里面,只知道这张位图的路径,怎么才能把它load进来呢,cbitmap的loadbitmap都是正对资源,不适合我,有没有别的方法

解决方案 »

  1.   

    这是装载工程目录下位图的例子,关键是LoadImage函数
    HBITMAP hbitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),"**.bmp", IMAGE_BITMAP,0,0, LR_CREATEDIBSECTION|LR_LOADFROMFILE);
    if(hbitmap==NULL) 
        return FALSE;
    CBitmap m_bitmap;
    m_bitmap.Attach(hbitmap);
      

  2.   

    CDC* pDC=GetDC();
    //兼容DC
    CDC memDC; HBITMAP hBitmap;
    HBITMAP hOldBitmap;

    memDC.CreateCompatibleDC(pDC);
    //转载bmp
    hBitmap=(HBITMAP)::LoadImage(::AfxGetInstanceHandle(),
    m_strFilePath,
    IMAGE_BITMAP,0,0,
    LR_LOADFROMFILE|LR_CREATEDIBSECTION);
    //选进DC
    hOldBitmap=(HBITMAP)memDC.SelectObject(hBitmap);
      

  3.   

    /*******************************************************************
     * 这是从文件里装放位图
     *
     *******************************************************************/
    BOOL CXxxView::OnDraw(CDC* pDC)
    {
       HBITMAP bitmap,OldBitmap;
       bitmap = (HBITMAP)LoadImage(NULL,"xxx.bmp",IMAGE_BITMAP,
                               0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
       CDC MemDC;
       MemDC.CreateCompatibleDC(pDC);
       OldBitmap=(HBITMAP)MemDC.SelectObject(bitmap);
       pDC->BitBlt(0,0,400,300,&MemDC,0,0,SRCCOPY);
       MemDC.SelectObject(OldBitmap);
       return TRUE;
    }
      

  4.   

    HBITMAP hbmp;
         hbmp= (HBITMAP)::LoadImage( AfxGetInstanceHandle(), 
         "bitmap1.bmp",IMAGE_BITMAP,0,0, 
         LR_LOADFROMFILE);