我在视类的ONCREATE中
CClientDC dc(this);
m_bitmap.CreateCompatibleBitmap(&dc, 800, 600);//CBitmap m_bitmap 我又需要在视类的其他地方修改这个m_bitmap的大小,
怎么改呵~

解决方案 »

  1.   

    to :howtotell(从何谈起) 我也想这样省事的,可是
    我纳闷的是在ONDRAW这样写就运行出错:
    //void CDmistImageView::OnDraw(CDC* pDC) m_bitmap.CreateCompatibleBitmap(pDC, 800, 600);
           
    我这样做一点也没错啊。
      

  2.   

    CreateCompatibleBitmap()这个函数是用来干什么的
      

  3.   

    上面是CClientDC dc(this);
    下面就成了OnDraw(CDC* pDC)
    ????
    如果是在一起的,你可能是没释放设备
      

  4.   

    不要在OnDraw里创建,换个地方。
    用SetBitmapDimension
      

  5.   

    SetBitmapDimension没用呵
    我把这辆句
    CClientDC dc(this);
    m_bitmap.CreateCompatibleBitmap(&dc, 800, 600);
    写到一个子函数中由ONDRAW调用,可是运行还是出错。本来这两句是在ONCREATE中写的,运行正常,可是m_bitmap对象的大小不是800*600呵
    所以我希望m_bitmap能在取得位图大小后再初始化,可是怎么好像只能再ONCREATE中初始化啊不知道我有没有把问题说清楚
      

  6.   

    CBitmap是不能重复使用CreateCompatibleBitmap创建的,需要先释放原来的Bitmap Object
      

  7.   

    CBitmap是不能重复使用CreateCompatibleBitmap创建的,需要先释放原来的Bitmap Object果然,我释放原来的,然后再初始化就OK。
     
    谢谢楼上的各位的兄弟姐妹(好像写程序的没几个MM:)