我导入了位图在程序中的id:m_State.LoadBitmaps(IDB_SMILE);
编译通过,链接也没问题。
可是运行就跳出assert错误。问题好像是
ASSERT(m_bitmap.m_hObject != NULL);
不知道怎么解决?
请高手赐教!

解决方案 »

  1.   

    see if LoadBitmaps successfully!
    CBitmapButton myButton;// Create the bitmap button (must include the BS_OWNERDRAW style).
    myButton.Create(NULL, WS_CHILD|WS_VISIBLE|BS_OWNERDRAW, 
       CRect(10,10,100,100), pParentWnd, 1);// Load the bitmaps for this button.
    myButton.LoadBitmaps(IDB_UP, IDB_DOWN, IDB_FOCUS, IDB_DISABLE); 
      

  2.   

    代码如下:
    int CBomb3View::OnCreate(LPCREATESTRUCT lpCreateStruct) 
    {if (CView::OnCreate(lpCreateStruct) == -1)
        return -1; CRect rcclient;
     CWnd *test=GetParentFrame();
     test->GetClientRect(&rcclient);
     CRect rect(rcclient.right/2-8,10,rcclient.right/2+8,20);
     m_State.Create(NULL,BS_DEFPUSHBUTTON|WS_VISIBLE|
     BS_OWNERDRAW,rect,this,ID_GAME_BEGIN);
     m_State.LoadBitmaps(IDB_SMILE); return 0;
    }
    其中m_State是本类中得成员变量CBitmapButton类型。
    我已经测试了loadbitmaps得返回值,确实不成功。但不知道怎么处理。因为资源文件里确实有IDB_SMILE得图标文件,头文件也定义了。为什么不成功呢。本人刚刚开始接触VC,请各位大虾赐教。
      

  3.   

    i use your code above,it is OK!!!!!like that
     CRect rect;
     this->GetClientRect(&rect);
         m_btnTest.Create(NULL,BS_DEFPUSHBUTTON|WS_VISIBLE|
            BS_OWNERDRAW,rect,this,IDOK);
    int iRet = m_btnTest.LoadBitmaps(IDB_BITMAP1); 
    to see if your bitmap have some problem!
      

  4.   

    对不起,朋友们,小弟一时粗心。竟然导入得是ico.....vc也不告诉我一声。唉。。
    不好意思。分数还是要给得。谢谢楼上得几位了