在MFC中如何从CWinAppEx访问CView

时间:2015-05-20 00:23:27

标签: c++ mfc

我在MFC方面没有很多专业知识。我有一个基本设置的MFC应用程序:单文档应用程序。现在在项目中我有最标准的设置:一个...查看第一类... Doc类和一个... WinAppEx类。这三个分别代表模型 - 视图 - 控制器设计原理。我找不到从WinAppEx类访问View类的方法。

我的实际用例是我有一些命令行参数传递给应用程序。我想在我的主视图上显示这些参数。要访问我在...中的那些参数... WinAppEx :: InitInstance()方法

CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);

现在我需要将参数传递给视图。我试过:: GetMainWnd()并遍历其兄弟姐妹及其子女。我还尝试了:: GetNextDocTemplate()然后:: GetNextDoc()然后:: GetNextView()。我仍然没有找到我...查看实例。能否请一些亮点?

2 个答案:

答案 0 :(得分:3)

为什么从应用程序访问视图?为什么不从视图中访问应用程序?从视图类中,您可以调用AfxGetApp()并获取命令行参数。此外,对于一个非常简单的应用程序,通常会有一个由向导定义的全局变量" theApp"。

答案 1 :(得分:1)

您可能在创建CView之前尝试访问它。在InitInstance函数结束时,您可以将m_pMainWnd转换为CMainFrame *并使用该指针调用CMainFrame的GetActiveView()函数。