MDI MFC VC ++如何在大型机内切换视图

时间:2014-03-24 13:28:52

标签: c++ mfc mdi document-view

我正在制作MDI应用程序,并且在不使用拆分器的情况下,我的文档有多个视图。现在我想从应用程序的MainFrame中更改文档视图......

这里是我正在做的事情,我有一些菜单按钮的outlookbar,当用户点击那些按钮然后我将在文档中显示CFormView作为孩子而不是弹出对话框。现在我不知道如何从MainFrame更改视图,其中已经编写了菜单处理程序。

如果您知道任何提示,请提示任何提示...有超过5种不同的视图,其中4种是CFormView。

MainFrame - > MenuhandlerFunction (菜单点击次数)

MenuHandlerFunction - >使用基于CFormView的新视图打开新文档

(MainFrame Written中共有5个不同的CFormView及其处理程序)

1 个答案:

答案 0 :(得分:1)

我不太确定如何选择要显示的视图,但是这里有一些代码可以遍历MainFrame中当前文档的视图:

编辑:修改了MDI代码

CMDIChildWnd *pChild = (CMDIChildWnd*)GetActiveFrame();  // EDIT: added line
CDocument *pDoc = pChild->GetActiveDocument();           // EDIT: added pChild->
POSITION pos = pDoc->GetFirstViewPosition();
while (pos != NULL)
{   CView* pView = GetNextView(pos);
    // if this is the view you want to activate
    //     pChild->SetActiveView(pView);                 // EDIT: added pChild->
}