我在CMyView::OnFileOpen()中打开一个文件,像在单文档视图中绘出文件信息(是一些图形),但不知道该如何在CMyView::OnFileOpen()函数中调用OnPaint()函数,
因为似乎OnPaint()函数在没打开文件前已经调用过了,不知道该如何解决?

解决方案 »

  1.   

    分开处理,在Document中获取打开文件的数据,View中的OnPaint函数显示Document数据
      

  2.   

    在MyDoc里面获取数据,还是CMyDoc* pDoc = GetDocument();里面获取数据呢?
      

  3.   

    应该可以在CMyDoc::OnFileOpen()调用数据,然后UpdateAllViews
      

  4.   

    void CScheduleDoc::OnFileOpen() 
    {
    // TODO: Add your command handler code here
    if(m_dlgFile.DoModal() == IDOK)
              {
    获得vector<Node*>& nodeSet 
    }
    }
    我现在获得的数据该如何向view里面传阿,nodeset里已经是要绘图的信息了
      

  5.   

    使用InValidate()应改就调用OnPaint()了