我正在制作MDI应用程序,并且没有使用拆分器,我的文档有多个视图。现在我想从应用程序的大型机更改文档视图…
这里是我在做什么,我有outlook栏与一些菜单按钮,当用户将点击这些按钮,然后我将显示CFormView内的文档作为一个孩子,而不是弹出对话框。现在我不知道如何从MainFrame更改视图,其中菜单处理程序已经编写。
如果你知道任何…有超过5个不同的视图,其中4个是CFormView。
MainFrame ->MenuhandlerFunction(菜单点击)
MenuHandlerFunction ->使用基于CFormView的新视图打开新文档
(总共5个不同的CFormView和它们在MainFrame内的处理程序)
我不太确定如何选择要显示的视图,但是这里有一些代码可以遍历MainFrame中当前文档的视图:
EDIT:修改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->
}