我正在制作MDI应用程序,并且在不使用拆分器的情况下,我的文档有多个视图。现在我想从应用程序的MainFrame中更改文档视图......
这里是我正在做的事情,我有一些菜单按钮的outlookbar,当用户点击那些按钮然后我将在文档中显示CFormView作为孩子而不是弹出对话框。现在我不知道如何从MainFrame更改视图,其中已经编写了菜单处理程序。
如果您知道任何提示,请提示任何提示...有超过5种不同的视图,其中4种是CFormView。
MainFrame - > MenuhandlerFunction (菜单点击次数)
MenuHandlerFunction - >使用基于CFormView的新视图打开新文档
(MainFrame Written中共有5个不同的CFormView及其处理程序)
答案 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->
}