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尺寸. ...
随机推荐
- 插值查找C++
和上一篇折半查找很类似,只有四则运算不一样,思想类似. 只是在插值查找的过程中,考虑了查找键的值. #include <iostream> using namespace std; //需 ...
- Sum of AP series——AP系列之和
A series with same common difference is known as arithmetic series. The first term of series is 'a' ...
- PHP随机函数【上】
随机函数应用的场景很多,比如验证码,token,订单号等.由浅入深了解常用随机函数 1.rand 常用的随机数字函数,默认生成[0,getrandmax()]之间的随机数(包括边界值),因性能问题已被 ...
- deepin系统下部署Python3.5的开发及运行环境
deepin系统下部署Python3.5的开发及运行环境 1 概述 由于最近要学习python接口自动化测试,所以记录一下相关学习经过及经验,希望对大家可以有所帮助. 2 下载 在python官网下载 ...
- Web API系列之三 基本功能实现
Web API系列之二讲解了如何搭建一个WebApi的基架,本文主要在其基础之上实现基本的功能.下面开始逐步操作: 一.配置WebApi的路由-用于配置外部如何访问内部资源的url的规则 1.添加Gl ...
- linux mysql添加、删除用户、用户权限及mysql最大字段数量
1. 登录: mysql -u username -p 显示全部的数据库: show databases; 使用某一个数据库: use databasename; 显示一个数据库的全部表: show ...
- Sublime Text 使用教程
Sublime Text 是一款非常轻量级而且功能十分强大的编辑器,支持大量插件,深受前端开发者的喜爱.多的不说,我们直接进入正题. 1.下载 ①.官网下载地址:http://www.sublimet ...
- Python删除list中多个相同元素
pop和remove方法都可以删除list中的元素,个人更倾向于使用remove方法,因为在删除过程中不会打印信息,安静的把任务完成. pop方法:删除过程中会打印信息 >>> al ...
- javascript中对象字面量与数组字面量
第一部分 我们知道JavaScript中的数据类型有基本数据类型和引用类型,其中Object类型就是非常常用的类型.那么如果创建一个Object类型的实例呢?下面我介绍两种方法: 第一:构造函数法. ...
- JavaScript 浏览器类型及版本号
项目中偶尔用到判断浏览器类型及相关版本问题,现记录相关代码: function getBrowserVertion(userAgent) { var browserName, browserVersi ...