MFC中Doc类获取View类的方法(SDI)

从view类中获取Doc的方法如下:

    CYourDoc* pDoc = GetDocument();

这个函数已经写好,所以无需自己添加,使用时直接利用pDoc即可。

若反过来,从Doc中获取View中的函数,就需要自己写一些代码来进行获取View的指针。

 

主要是通过一些成员函数进行操作:

  virtual POSITION GetFirstViewPosition() const;

  virtual CView* GetNextView(POSITION pos) const;

利用这些函数,在自己的Doc文件中进行实现:

  CYourView* pView;

  POSITION pos = GetFirstViewPosition();

  pView = GetNextView(pos);

有时候最后一行代码会出现错误,提示代码为:

  error C2440: '=' cannot convert from 'CView *' to 'CYourView‘

为此我们可以利用类型转换来处理:

  pView = dynamic_cast<CYourView*>(GetNextView(pos));

这样便实现了单文档单视图项目中Doc对View类的捕获。

posted @ 2013-11-11 16:24  朝拜SUNS  阅读(1753)  评论(0编辑  收藏  举报