为什么我打开位图后,视图区不自动刷新显示打开显示的位图?

解决方案 »

  1.   

    Invalidate()我添加了,所以问题就出在这里,错误提示说,我的Invalidate没有声明,这个函数需要声明吗?直接调用不就行了?
      

  2.   

    void CTEMP_VIEWDibView::OnDraw(CDC* pDC)
    {
    CTEMP_VIEWDibDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    // TODO: add draw code for native data here
    if (pDoc->statedoc==1) 
    {
    m_DibObject.SetMapFile(pDoc->filename, TRUE);
      Invalidate();
      }
      CClientDC dc(this);
      m_DibObject.SetLogPalette(&dc);
    如果将Invalidate注释起来就需要手动刷新,如果不注释起来就会一直刷新不停,
    请问大家到底该怎么改呢?实在不知晓
      

  3.   

    m_DibObject是什么东西?OnDraw里面好像只调用了选择图片的函数而没有显示图片的函数。
      

  4.   

    应该在你的open函数里加载bmp
    open
    {
    //加载bmp
      Invalidate();
    }void CTEMP_VIEWDibView::OnDraw(CDC* pDC)
    {
    CTEMP_VIEWDibDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    // TODO: add draw code for native data here
     //在此画出位图
    }