App Doc View Frame中指针的获取
// App中获取其它三项指针
void CSDIApp::OnApp()
{
// App
// Doc
CDocument *pDoc = ((CFrameWndEx *)m_pMainWnd)->GetActiveDocument();//成员变量CFrameWndEx m_pMainWnd
// MainFrame
CFrameWndEx *pMain = (CFrameWndEx *)AfxGetMainWnd();
// View
CView *pView = ((CFrameWndEx *)m_pMainWnd)->GetActiveView();
}
// Doc中获取其它三项指针
CSDIDoc::CSDIDoc()//构造函数
{
// App
CWinAppEx *pApp = (CWinAppEx *)AfxGetApp();
// Doc
// MainFrame
// Doc的创建先于MainFrame
// View
// Doc的创建先于View
}
void CSDIDoc::OnDoc()
{
// App
// 同构造函数
// Doc
// MainFrame
CFrameWndEx *pMain = (CFrameWndEx *)AfxGetMainWnd();
// View
CView *pView= (CView *)pMain->GetActiveView();
POSITION pos = GetFirstViewPosition();
pView = GetNextView(pos);
}
// MainFrame中获取其它三项指针
CMainFrame::CMainFrame()//构造函数
{
theApp.m_nAppLook = theApp.GetInt(_T("ApplicationLook"), ID_VIEW_APPLOOK_VS_2005);
// App
CWinAppEx *pApp = (CWinAppEx *)AfxGetApp();
// Doc
// 构造函数里无法得到当前激活的Doc
// MainFrame
// View
// 构造函数里无法得到View指针,因为Main先于View创建。
}
void CMainFrame::OnMain()
{
// App
// 同构造函数
// Doc
CDocument *pDoc = (CDocument *)GetActiveDocument();
// MainFrame
// View
CView *pView = (CView *)GetActiveView();
}
// View中获取其它三项指针
CSDIView::CSDIView()//构造函数
{
// App
CWinAppEx *pApp = (CWinAppEx *)AfxGetApp();
// Doc
/* 无法在View的构造函数里得到Doc指针
GetDocument();实际上是返回m_pDocument
m_pDocument在OnCreate();里创建 */
//CDocument *pDoc = GetDocument();
// MainFrame
// 构造函数里无法得到MainFrame指针
// CFrameWndEx *pMain = (CFrameWndEx *)pApp->m_pMainWnd;
// View
}
void CSDIView::OnView()
{
// App
// 同构造函数
// Doc
CDocument *pDoc = GetDocument();
// MainFrame
CFrameWndEx *pMain = (CFrameWndEx *)AfxGetMainWnd();
// View
}
// Dlg中获取指针
CDlg::CDlg(CWnd* pParent /*=NULL*/)//构造函数
: CDialog(CDlg::IDD, pParent)
{
// App
CWinAppEx *pApp = (CWinAppEx *)AfxGetApp();
// Doc
CDocument *pDoc = ((CFrameWndEx *)AfxGetMainWnd())->GetActiveDocument();
// MainFrame
CFrameWndEx *pMain = (CFrameWndEx *)AfxGetMainWnd();
// View
CView *pView = ((CFrameWndEx *)AfxGetMainWnd())->GetActiveView();
}
App Doc View Frame中指针的获取的更多相关文章
- (转)MFC中Doc,View,MainFrmae,App各指针的互相获取
App是应用域,所有的域中的东西都可以通过全局函数访问到它. MainFrame是主框架,也基本可以用全局函数访问到. MainFrame下是若干个ChildFrame,ChildFrame中若干个V ...
- MFC中获取App,MainFrame,Doc和View类等指针的方法
From: http://hi.baidu.com/wxnxs/item/156a68f5b3b4ed18e3e3bd03 MFC中获取App,MainFrame,Doc和View类等指针的方法 ...
- ASP.NET 获取不同frame中的控件
最近在做网站时遇到一个问题,需要获取不同frame中的控件,请教了一些同事,他们都说是无法取到的, 在网上查找了很多资料,找到了解决方法,现在整理一下当初的解决思路: 1.我需要在mainFrame中 ...
- OC中 self.view.frame.size.height = 100; 不能通过编译的原因
在OC中,当需要修改一个view的尺寸时,通常是通过先将 self.view.fram赋值给一个临时变量,然后修改临时变量,最后将临时变量赋值给 self.view.frame.代码如下: // 1. ...
- struts2 - View页面中获取Action的成员变量
struts2 - View页面中获取Action的成员变量 2016年03月02日 11:04:44 IT男青年 阅读数:1074 View页面中获取Action的成员变量 按照Struts的设 ...
- android之View坐标系(view获取自身坐标的方法和点击事件中坐标的获取)
在做一个view背景特效的时候被坐标的各个获取方法搞晕了,几篇抄来抄去的博客也没弄很清楚. 现在把整个总结一下. 其实只要把下面这张图看明白就没问题了. 涉及到的方法一共有下面几个: view获取自身 ...
- APP store 上架过程中碰到的那些坑&被拒的各种奇葩原因整理&审核指南中文版
苹果官方发布的十大常见被拒原因 1.崩溃次数和Bug数量.苹果要求开发者在将应用提交给App Store之前彻查自己的应用,以尽量避免Bug的存在. 2.链或错误的链接.应用中所有的链接必须是真实且有 ...
- 仿简书、淘宝等等App的View弹出效果
昨天用简书App的时候觉得这个View的弹出效果特别好,而且非常平滑,所以我就尝试写了一个,和简书App上的效果基本一致了: 下面开始讲解: 1.首先我们要知道这个页面有几个View?这个页面其实有四 ...
- iPhone launch screen,self.view.frame.size
在工程文件中找到以下设置 "Launch Screen File"只支持iOS8以上版本,如果用之,则self.view.frame.size返回的结果为正常的当前view尺寸. ...
随机推荐
- mysql5.7-Group Replication
什么是Group Replication 基于组的复制(Group-based Replication)是一种被使用在容错系统中的技术.Replication-group(复制组)是由能够相互通信的多 ...
- bzoj 3566: [SHOI2014]概率充电器
Description 著名的电子产品品牌 SHOI 刚刚发布了引领世界潮流的下一代电子产品--概率充电器:"采用全新纳米级加工技术,实现元件与导线能否通电完全由真随机数决定!SHOI 概率 ...
- 《重新定义公司 - Google 是如何运营的》重点摘录
赋能:创意时代的组织原则 未来企业的成功之道,是聚集一批聪明的创意精英,营造合适的氛围和支持环境,充分发挥他们的创造力,快速感知用户需求,愉快地创造响应的产品和服务.未来组织的最重要功能,那就是赋 ...
- awk 命令详解
作用:awk 是一种编程语言, 用于在linux/unix 下对文本和数据进行处理. 数据可以来自标准输入(stdin),一个或多个文件, 或其他命令的输出.它支持用户自定义函数和动态正则表达式等先进 ...
- ValueError: 'format' in __slots__ conflicts with class variable
Complete output from command python setup.py egg_info: Traceback (most recent call last): File " ...
- K:HashMap中hash函数的作用
在分析了hashCode方法和equals方法之后,我们对hashCode方法和equals方法的相关作用有了大致的了解.在通过查看HashMap类的相关源码的时候,发现其中存在一个int has ...
- thinkphp5使用PHPExcel导入Excel数据
安装PHPExcel扩展类 地址:https://github.com/PHPOffice/PHPExcel ①通过composer安装 ②手动下载, 放在项目的extend目录下 代码中引入 由于P ...
- TurnipBit之DIY无线遥控智能小车
一.准备工作 TurnipBit 开发板 2块 TurnipBit 扩展板 1块 数据线 1条 智能小车器件 1套 电机驱动模块(L298N) 1个 在线可视化编程 点击进入 二.思路设计 2 ...
- COM学习(一)——COM基础思想
概述 学习微软技术COM是绕不开的一道坎,最近做项目的时候发现有许多功能需要用到COM中的内容,虽然只是简单的使用COM中封装好的内容,但是许多代码仍然只知其然,不知其所以然,所以我决定从头开始好好学 ...
- windbg蓝屏调试
一般在写Windows内核程序的时候,经常会出现蓝屏的问题,这个时候一般是采用记录下dump文件然后用windbg查看得方式,具体的过程就不说了,网上一大堆的内容.现在我主要记录自己当初按照网上的方案 ...