0

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

这就是我正在做的事情,我有带有一些菜单按钮的 Outlookbar,当用户单击这些按钮时,我将在文档中显示 CFormView 作为子项而不是弹出对话框。现在我不知道如何从编写菜单处理程序的 MainFrame 更改视图。

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

MainFrame ->MenuhandlerFunction(菜单点击)

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

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

4

1 回答 1

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->
}
于 2014-03-24T18:52:55.133 回答