BOOL CBmpbgDlg::OnEraseBkgnd(CDC* pDC)
    {
    CRect rect;
    GetClientRect(&rect);
    BITMAP bm;
    CDC dcMem;
    m_pBmp->GetObject(sizeof(BITMAP),(LPVOID)&bm);
    dcMem.CreateCompatibleDC(NULL);
    CBitmap* pOldBitmap = dcMem.SelectObject(m_pBmp);
    for (register int nX=0;nXBitBlt(nX,nY,bm.bmWidth,bm.bmHeight,&dcMem,0,0,SRCCOPY);
    dcMem.SelectObject(pOldBitmap);
    return TRUE;
    }
//我在百度找到的
//http://c.chinaitlab.com/vc/200806/749901.html提示“m_pBmp”: 未声明的标识符  m_pBmp是什么..这个代码可不可以直接用啊 我导入的是个jpg文件 只有个文件ID 叫 IDR_AA1

解决方案 »

  1.   

    jpg 文件按只能用 GDI+ 来使用,不能用 CBitmap。
      

  2.   

    声明一个cbitmap指针的成员m_pBmp
    m_pBmp->loadbitmap把那个ID load进来
      

  3.   

    对话框的背景色与背景图(VC++)
    http://www.softist.com/programemo/dialog-back/dialog-back.htm
      

  4.   

    CBitmap只能处理位图,如果要加JPG的话,先转换成BMP格式,或者用GDI+
      

  5.   

    m_pBmp应该是自定义的一个CBitmap的成员变量,该变量属于CBmpbgDlg就可以了
      

  6.   

    只能用*.bmp文件,可以用系统自带的画图程序改为bmp文件,然后要loadbitmap将图片导进来。m_pmap可能是一个cbitmap的指针。
    你会在单文档的view类里画图吗?在对话框中也是一样的。