前人在CSDN总结的,曾经帮助过我,整理总结一下,希望也能帮助一下别人。
获得CWinApp
获得CMainFrame
获得CChildFrame
获得CDocument
获得CView
在CWinApp中
AfxGetMainWnd()
m_pMainWnd
AfxGetMainWnd()->MDIGetActive()
AfxGetMainWnd()->GetActiveFrame()
SDI:AfxGetMainWnd()->GetActiveView()->GetDocument()
MDI:AfxGetMainWnd()->MDIGetActive()->GetActiveView()->GetDocument()
SDI:AfxGetMainWnd()->GetActiveView()
MDI:AfxGetMainWnd()->MDIGetActive()->GetActiveView()
在CMainFrame中 AfxGetApp()
theApp
MDIGetActive()
GetActiveFrame()
SDI:GetActiveView()->GetDocument()
MDI:MDIGetActive()->GetActiveView()->GetDocument() SDI:GetActiveView()
MDI:MDIGetActive()->GetActiveView()
在CChildFrame中 AfxGetApp()
theApp
GetParentFrame()
GetActiveView()->GetDocument() GetActiveView()
在CDocument中 AfxGetApp()
theApp
AfxGetMainWnd() AfxGetMainWnd()->MDIGetActive()
AfxGetMainWnd()->GetActiveFrame()
POSITION pos = GetFirstViewPosition();GetNextView(pos)
在CView中 AfxGetApp()
theApp
AfxGetMainWnd() GetParentFrame() GetDocument()
在其他类中 AfxGetApp()
AfxGetMainWnd() AfxGetMainWnd()->MDIGetActive()
AfxGetMainWnd()->GetActiveFrame()
SDI:AfxGetMainWnd()->GetActiveView()->GetDocument()
MDI:AfxGetMainWnd()->MDIGetActive()->GetActiveView()->GetDocument()
SDI:AfxGetMainWnd()->GetActiveView()
MDI:AfxGetMainWnd()->MDIGetActive()->GetActiveView()
理一理MFC的这几个类的关系,可以很容易明白上面的这些乱七八糟的逻辑。
App是应用域,所有的域中的东西都可以通过全局函数访问到它。
MainFrame是主框架,也基本可以用全局函数访问到。
MainFrame下是若干个ChildFrame,ChildFrame中若干个View和Document(可能不成对),ChildFrame管理着View,View和Document进行互操作。
因此整体框架就出来了,一般除了直接应用的关系都可以通过MainFrame-->Active ChildFrame-->Active View-->Document这条线进行访问,这应该叫什么来自?万能方法吧^_^。
恕我懒惰,不愿意画一个更详细的图解,凑合着看看吧。
分享到:
相关推荐
在这些框架中,正确地获取各部分的指针对于实现功能和控制程序流程至关重要。本篇文章将详细介绍如何在MFC框架中获取MainFrame(主框架窗口)、ChildFrame(子框架窗口)、Active View(活动视图)以及与其关联的...
VC6编程方面的资料,希望对大家有用; 彻底共享,决不要分!
在深入探讨MFC(Microsoft Foundation Classes)中SDI(单文档界面)与MDI(多文档界面)框架的指针获取方法之前,我们先来理解一下MFC的基本架构及其核心概念。MFC作为Windows应用程序开发的重要工具包,提供了丰富...
菜单是MFC程序的重要组成部分之一,可以通过`AfxGetMainWnd()`和`GetMenu()`来获取菜单的指针: ```cpp CMenu*pMenu=AfxGetMainWnd()->GetMenu(); ``` 这将返回一个指向主窗口菜单的指针。 #### 4. 获取工具栏和...
### VC++ 在不同类中的MFC各种指针获取方式 #### 概述 在Microsoft Foundation Classes (MFC) 库中开发Visual C++ (VC++) 应用程序时,经常需要在不同的类之间获取和传递指针。这些操作通常涉及获取应用程序对象、...
2. **获取主框架指针**: 主框架窗口通常是应用程序的顶级窗口,包含了菜单、工具栏等元素。`CWinApp`类有一个公有成员变量`m_pMainWnd`,它是主框架窗口的指针。可以这样获取: ```cpp CMainFrame* pMainFrame =...
在MFC(Microsoft Foundation Classes)框架中,类的指针获取和应用是非常关键的,尤其在处理文档(Document)、视图(View)和框架(Frame)之间的交互时。MFC是一种面向对象的类库,用于简化Windows应用程序的开发...
总之,理解MFC中不同类的指针获取对于有效地在类之间传递信息和控制非常重要。开发者需要熟悉MFC类的层次结构和它们的方法,以便正确地操作这些指针。同时,注意类型转换的安全性,避免出现未定义的行为或运行时错误...
在MFC(Microsoft Foundation Classes)框架中,指针获取是一个重要的功能,因为它允许开发者在不同类之间进行通信和协作。MFC是微软提供的一套面向对象的类库,用于简化Windows应用程序开发。以下是对MFC中获取不同...
本文旨在详细介绍如何在MFC中获取各种类型的句柄和指针,并提供具体的代码示例。 #### MFC中获取常见类句柄 在MFC开发中,经常需要访问文档类、视图类、框架类和应用程序类等的基本信息。以下是一些常用的方法: 1...
本文将详细介绍在MFC中获取各种类指针的方法,这对于理解和使用MFC框架至关重要。 1) **在View中获得Doc指针**: 在视图类(如CView或其派生类)中,可以使用`GetDocument()`函数来获取关联的文档对象(CDocument的...
以上内容涵盖了MFC中基本的指针获取方法,它们在构建MFC应用程序时非常重要。熟练掌握这些技巧,可以帮助开发者更高效地操纵和控制MFC组件,从而编写出更加灵活和可维护的代码。然而,实际编程中应根据具体需求进行...
本文将详细介绍如何在MFC中获取各类指针和句柄,以及常用API函数的使用。 首先,让我们了解什么是指针和句柄。指针在C++中是一个变量,它存储了另一个变量的地址,而在MFC中,类的指针通常用来指向类的对象。句柄则...
MFC获取指针.mfc框架中各个文件中函数的调用所必需的的指针
在MFC(Microsoft Foundation Class)应用程序开发中,指针的使用是至关重要的,尤其是在涉及到对象间的交互和数据传递时...通过理解MFC框架中的对象关系和指针操作,开发者可以构建更复杂、更高效的Windows应用程序。
通过调用`GetMenu()`函数,我们可以获取主框架窗口的菜单指针:`CMenu *pMenu = m_pMainWnd->GetMenu();` 9) 在任何类中获得应用程序类: `AfxGetApp()`全局函数可用于在任何地方获取应用程序类的指针,例如:`...