问题是这样的:MDI应用程序中,类间的关系
CFormView 中我想嵌用一个CPicView m_picview(继承于CScrollView)来展示图片;
如何在CFormView的OnDraw里去调用CPicView的OnDraw去显示图片?
即class CMyView : public CFormView
{
public:
  CPicView * pPicView;
  CMyDoc* GetDocument() const;
   …………
protected:
  virtual void OnDraw(CDC* /*pDC*/);
}
class CPicView:public CScrollView
{
  public:
  CPicture *pic;
   ***
  protected:
  virtual void OnDraw(CDC* pDC);
}当我打开一幅图片时,document类加载图片保存为CPicture *,通过CMyView的GetDocument()后可以获得将显示的图片的指针,在CMyView类中的OnInitialUpdate()中创建的CPicView。怎么样才能让CPicView显示图片呢??
我在CMyView的Ondraw里调用CPicView的invalidate(),不能触发CPicView的OnDraw()!MFC CFormView OnDraw

解决方案 »

  1.   


    void CMyView::OnDraw(CDC* /*pDC*/)
    {
    // TODO: 在此添加专用代码和/或调用基类
    picview->invalidate();
    }如上所示,我跟踪过,这里会执行,但是invalidate并没有使CPicView中的OnDraw函数执行,求解释!!
      

  2.   

     // Invalidate window so entire client area 
       // is redrawn when UpdateWindow is called.
       CPicView->Invalidate();      // Update Window to cause View to redraw.
      CPicView-> UpdateWindow();
      

  3.   

    谢谢,成功了,能够触发ondraw了。
    谢谢!