取到View类视图中的指针,应该先获取Doc文档中的指针;具体思路: 主框架CMainFrame中获取Doc指针,接着Doc文档框架中获取View视图的指针,继而可以实现CMainFrame框架获取View视图指针。 根据上述思路来撰写代码;
时间: 2024-09-15 12:06:54 浏览: 36
在MFC(Microsoft Foundation Classes)框架中,如果你想要从`CMainFrame`类中获取`CDoc`类的实例并进一步获取`CView`类的指针,你可以按照这样的步骤:
```cpp
// 在CMainFrame类中
CMFCCmdTarget* pCmdTarget = dynamic_cast<CMFCCmdTarget*>(AfxGetMainWnd()); // 获取顶级窗口句柄
if (pCmdTarget)
{
CDocument* pDoc = pCmdTarget->m_pActiveDocument; // 获取当前活动文档
if (pDoc) // 检查是否已创建文档
{
CView* pView = pDoc->GetActiveView(); // 获得活动视图
// 现在你可以使用pView指针访问或操作视图了
}
}
```
这里我们首先将顶层窗口转换为`CMFCCmdTarget`类型的指针,然后通过它找到`CDocument`的指针。`CDocument`通常会有一个指向其关联`CView`的指针,我们可以调用`GetActiveView()`来获取活跃的视图。
阅读全文