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类的捕获。