想请教大家个问题,我照着书上的示例练习:
CPuzzleCardView::CPuzzleCardView()
{
// TODO: 在此处添加构造代码
m_bmCardFace[0].LoadBitmap(IDB_BITMAP1); //以下四句每次运行都过不了,为什么呢?
m_bmCardFace[1].LoadBitmap(IDB_BITMAP2);
m_bmCardFace[2].LoadBitmap(IDB_BITMAP3);
m_bmCardFace[3].LoadBitmap(IDB_BITMAP4);
m_bmCardBack.LoadBitmap(IDB_BACK); //把上面4句删除则正常
BITMAP bmCard;
m_bmCardBack.GetBitmap(&bmCard);
m_nCardWidth=bmCard.bmWidth;
m_nCardHeight=bmCard.bmHeight;
m_rectInfo=CRect(49,454,797,500);
m_nGameNum=1;
m_nMark=100;
Initial();
}

解决方案 »

  1.   

    m_bmCardFace是怎么定义的?CBitmap m_bmCardFace[XXX]; ??
      

  2.   

    HBITMAP hbit;
    hbit = LoadBitmap(AfxGetResourceHandle(), MAKEINTRESOURCE(IDB_BITMAP_SELFBROWSE2)); //加载资源位图
    m_barBgnBmp = new CBitmap();
    m_barBgnBmp->Attach(hbit);   
      

  3.   

    视图类中定义了
    CBitmap *m_bmCardFace[4], m_bmCardBack;运行后出现调试窗口:+ this 0x000ebe60 {CPuzzleCardView hWnd=0x00000000} CPuzzleCardView * const+ bmCard {bmType=-858993460 bmWidth=-858993460 bmHeight=-858993460 ...} tagBITMAP
      

  4.   

    视图类中定义了
    CBitmap m_bmCardFace[4], m_bmCardBack;编译正常,运行后出现调试窗口:+  this 0x000ebe60 {CPuzzleCardView hWnd=0x00000000} CPuzzleCardView * const+  bmCard {bmType=-858993460 bmWidth=-858993460 bmHeight=-858993460 ...} tagBITMAP
      

  5.   

    详细代码在:vc.ayit.edu.cn/caizhipai.swf