指针获取问题?

lzn1 2004-08-03 04:46:36
在CMainFrame 中如何获取框架产生的 文档类,视图类指针
...全文
95 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nnheaven 2004-08-03
  • 打赏
  • 举报
回复
Frame有成员变量CView* m_pViewActive;
成员函数:CDocument* GetActiveDoucument() {return pView->GetDoucment};
CView 中:CDocument* m_pDocumnet;指向Document
GetDocument(){return m_pDocument}是CView中获得Documnet指针的函数
GetParentFrame()函数指向Frame
CDocumnet中有CPtrList m_viewList;指向各个View的一个链表指针
nnheaven 2004-08-03
  • 打赏
  • 举报
回复
都说完了
lixiaosan 2004-08-03
  • 打赏
  • 举报
回复
8.4访问当前活动视图和活动文档

对于SDI程序,主框架窗口就是文档框窗,可以采用以下方法取得当前文档和视图:

取得活动文档:

CMyDocument* pDoc;

pDoc=(CMyDocument*)((CFrameWnd*)AfxGetApp()->m_pMainWnd)->GetActiveDocument();



pDoc=(CMyDocument*)((CFrameWnd*)AfxGetMainWnd());

这两者是等效的。

取得活动视图:

CMyView* pView;

pView=(CMyView*)((CFrameWnd*)AfxGetApp()->m_pMainWnd)->GetActiveView();

对于MDI程序,由于子窗口才是文档框窗,因此首先要用GetActiveFrame()取得活动子框架窗口,然后通过该子窗口获取活动文档和视图:

CMDIChildWnd* pChild=(CMDIChildWnd*)((CFrameWnd*)AfxGetApp()->m_pMainWnd)->GetActiveFrame();

取得活动文档:

CMyDocument* pDoc=pChild->GetActiveDocument();

CMyView* pView=(CMyView*)pChild->GetActiveView();

可以把上述函数片段做成静态成员函数,比如:

static CMyDocument::GetCurrentDoc()

{

CMDIChildWnd* pChild=(CMDIChildWnd*)((CFrameWnd*)AfxGetApp()- >m_pMainWnd)->GetActiveFrame();

CMyDocument* pDoc=pChild->GetActiveDocument();

}

这样就可以通过以下方式取得活动文档(或视图):

CMyDocument::GetCurrentDoc();

youki1234 2004-08-03
  • 打赏
  • 举报
回复
严重同意楼上的
liurunfeng 2004-08-03
  • 打赏
  • 举报
回复
GetActiveDocument Returns the active CDocument object.
GetActiveFrame Returns the active CFrameWnd object.
GetActiveView Returns the active CView object.
holyeagle 2004-08-03
  • 打赏
  • 举报
回复
CMDIFrameWnd *pFrame =
(CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;

// Get the active MDI child window.
CMDIChildWnd *pChild =
(CMDIChildWnd *) pFrame->GetActiveFrame();

// or CMDIChildWnd *pChild = pFrame->MDIGetActive();

// Get the active view attached to the active MDI child
// window.
CMyView *pView = (CMyView *) pChild->GetActiveView();

标题SpringBoot极速汽车美容与保养网站设计与实现研究AI更换标题第1章引言介绍汽车美容与保养行业的发展现状,阐述开发极速汽车美容与保养网站的背景、意义及论文创新点。1.1研究背景与意义分析汽车美容保养市场需求,说明网站开发对行业的推动作用。1.2国内外研究现状探讨国内外汽车美容保养网站的发展情况及技术特点。1.3研究方法以及创新点介绍采用SpringBoot框架开发网站的方法及网站的创新之处。第2章相关理论介绍SpringBoot框架及相关网站开发技术理论。2.1SpringBoot框架概述阐述SpringBoot框架的特点、优势及核心组件。2.2前端开发技术介绍HTML、CSS、JavaScript等前端开发技术。2.3数据库技术说明MySQL等数据库在网站数据存储与管理中的应用。2.4其他相关技术介绍如支付接口、地图API等网站开发中用到的其他技术。第3章网站系统设计详细描述极速汽车美容与保养网站的整体设计方案。3.1系统架构设计介绍网站的整体架构,包括前端、后端及数据库的交互关系。3.2功能模块设计阐述网站的主要功能模块,如用户管理、服务预约、订单管理等。3.3数据库设计说明数据库的表结构设计、字段定义及数据关系。第4章网站实现与测试介绍网站的具体实现过程及测试方法。4.1网站开发环境搭建介绍开发网站所需的软件、硬件环境及配置。4.2具体功能实现详细描述各功能模块的实现过程及代码示例。4.3网站测试与优化介绍网站的测试方法、测试用例及优化策略。第5章研究结果呈现网站开发完成后的各项成果及数据分析。5.1网站功能展示通过截图或视频展示网站的主要功能及操作流程。5.2性能测试结果展示网站的性能测试数据,如响应时间、吞吐量等。5.3用户反馈分析分析用户对网站的使用反馈,评估网站的满意度。第6章结论与展望总结网站开发的主要成果,提出未来改进方向。6.1研究结论概括网站

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧