问题是这样的: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
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
void CMyView::OnDraw(CDC* /*pDC*/)
{
// TODO: 在此添加专用代码和/或调用基类
picview->invalidate();
}如上所示,我跟踪过,这里会执行,但是invalidate并没有使CPicView中的OnDraw函数执行,求解释!!
// is redrawn when UpdateWindow is called.
CPicView->Invalidate(); // Update Window to cause View to redraw.
CPicView-> UpdateWindow();
谢谢!