c++ MFC MDI如何根据活动文档更改类视图显示的内容
C++ MFC MDI how to change what class view displays based on active document
我正在开发一个MDI应用程序,该应用程序有一个对象浏览器(CClassView),必须根据活动的"文档"更改其显示内容。
PS:我的搜索都没有成功。
这不是我所期望的,但这里有一个可能的解决方案:
http://forums.codeguru.com/showthread.php?473808-MFC-Doc-View-How-to-get-the-active-document-anywhere-in-my-application问:如何在我的应用程序的任何地方获得活动文档?
A:有几种方法,一种是先获得活动帧然后调用cframewind::GetActiveDocument. ...在MDI应用中,我们必须另外获得活动的MDI子框架。
CDocument* GetMDIActiveDocument()
{
CDocument* pDoc = NULL;
CWnd* pWndMain = AfxGetMainWnd();
ASSERT(pWndMain);
ASSERT(pWndMain->IsKindOf(RUNTIME_CLASS(CMDIFrameWnd))); // Not an MDI app.
CFrameWnd* pFrame = ((CMDIFrameWnd*)pWndMain)->MDIGetActive();
if(NULL != pFrame)
{
pDoc = pFrame->GetActiveDocument(); // get the active document
}
return pDoc;
}
这个示例代码可能会建议其他(甚至更好的)替代方案:
http://msdn.microsoft.com/en-us/library/cstcs513%28v=vs.90%29.aspx相关文章:
- 在网格视图中显示数据 - 基于 MFC c++ 对话框的应用程序
- 显示树的左侧视图时出错
- Qt C++ - 在一个视图中显示来自多个SQLite表的数据
- 在QT视图中显示位图数据
- 列表视图最初不显示数据
- 更新模型/视图方案中 QXXXView (QTableView, QTreeView,..) 元素的显示工具提示
- 在自定义树视图中显示QCOMBOBOX向下箭头
- Qt在QtWebEngine视图中显示QImage或像素映射(从C++到HTML)
- UWP-列表视图绑定在C /CX中的XAML上不显示
- Android NDK-如何从TAP中获取坐标并将其显示在文本视图上
- 资源管理器在 TILE 视图模式下不显示 shell 命名空间扩展的项目详细信息
- 位图图像未显示在CListCtrl报告视图中
- 如何在列表视图中显示每个项目的所有QComboBoxes
- QT 排序模型并在表视图中显示
- 平铺视图中的 c++ 虚拟列表视图,无法显示子项
- 突出显示树视图C++生成器中的项
- 在显示视图之前,是否可以在内部更改模型数据
- 使用Qt表视图显示大数据
- c++ MFC MDI如何根据活动文档更改类视图显示的内容
- 如何强制多个视图显示相同的模型行