VS2010 MFC中 在FormView派生类里获取文档类指针的方法
经过苦苦调试,今晚终于解决了一个大问题。
我想要实现的是:在一个FormView的派生类里获取到文档类的指针。
但是出现问题:试了很多办法,始终无法获取到。
终于,此问题在我不懈地调试加尝试下解决了。
现把我解决方法共享之,希望帮到遇到同样问题的人,因为这个问题实在是太让我恼火了!!!
首先头文件:
#include "MainFrm.h"
#include "XXXDoc.h"
#include "XXXView.h"
然后在需要获得文档类指针的地方使用如下方法:
static CMainFrame* pMain = (CMainFrame *)AfxGetMainWnd(); //或者:(CMainFrame *)AfxGetApp()->m_pMainWnd;
static CXXXtView* pXXXView = (CXXXView*)pMain->GetActiveView();
static CXXXDoc* pXXXDoc = (CXXXDoc*)pXXXView->m_pDoc; //m_pDoc为CXXXView类里的成员变量,即视图类里得到的文档类指针
注意:1. 不加 static 的话,会出现:CXX0017:错误:没有找到符号"...."
2. 若直接使用如下两句,则pMoneyCatDoc 的值为空:
static CMainFrame* pMain = (CMainFrame *)AfxGetMainWnd();
static CXXXDoc* pXXXDoc = (CXXXDoc*)pMain->GetActiveView()->GetDocument(); //或者:(CXXXDoc*)pMain->GetActiveDocument();
嗯……虽然的确是获得了文档类的指针,但是这是为什么呢?
1. 为啥必须要加 static 呢?
2. 为啥不能使用GetDocument()或GetActiveDocument()来获取呢?
//也错了,还没有正确获得文档类的指针! T_T
VS2010 MFC中 在FormView派生类里获取文档类指针的方法的更多相关文章
- jsoup获取文档类示例
import java.io.IOException; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsou ...
- MFC框架类、文档类、视图类相互访问的方法
1.获取应用程序指针 CMyApp* pApp=(CMyApp*)AfxGetApp(); 2.获取主框架指针 CWinApp 中的公有成员变量 m_pMainWnd 就是主框架的指针 CMainFr ...
- spring boot 中使用swagger 来自动生成接口文档
1.依赖包 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swa ...
- VS2010 MFC中制作Visual Studio风格的停靠侧栏窗口(CDockablePane里嵌套FormView表单视图)
VS2010 MFC中制作Visual Studio风格的停靠侧栏窗口(CDockablePane里嵌套FormView表单视图) 1. 在资源窗口里新建一个FormView的Dialog,修改ID为 ...
- C++MFC编程笔记day05 文档类-单文档和多文档应用程序
文档类 1 相关类 CDocument类-父类是CCmdTarget类,所以,文档类也能够处理菜单等 命令消息. 作用保存和管理数据. 注意事项:怎样解决断言错 ...
- perl 类里的函数调用其他类的函数
perl 类里的函数调用其他类的函数: package Horse; use base qw(Critter); sub new { my $invocant = shift; my $class = ...
- 在dwr的调用类里获取请求信息
在dwr的调用类里获取请求的相关信息HttpSession session = WebContextFactory.get().getSession();HttpServletResponse res ...
- Java解析word,获取文档中图片位置
前言(背景介绍): Apache POI是Apache基金会下一个开源的项目,用来处理office系列的文档,能够创建和解析word.excel.ppt格式的文档. 其中对word文档的处理有两个技术 ...
- 在项目中利用TX Text Control进行WORD文档的编辑显示处理
在很多文档管理的功能模块里面,我们往往需要对WORD稳定进行展示.编辑等处理,而如果使用微软word控件进行处理,需要安装WORD组件,而且接口使用也不见得简单易用,因此如果有第三方且不用安装Offi ...
随机推荐
- IOS开发学习笔记016-Foundation框架
Foundation 框架的学习 一.Foundation 常用结构体 1.NSRange(location,length) typedef struct _NSRange { NSUIntege ...
- PostgreSQL 如何优化索引效率
使用 gin() 创建全文索引后,虽然有走索引,但是当结果集很大时,查询效率还是很底下, SELECT keyword,avg_mon_search,competition,impressions,c ...
- git和github基础入门
一.git: 1.安装配置git: 1.1从官网或者该网址处下载:https://pan.baidu.com/s/1kU5OCOB#list/path=%2Fpub%2Fgit 1.2安装,一路nex ...
- [oldboy-django][6其他]微信二维码扫码登录注册
http://blog.csdn.net/maerdym/article/details/46380309 http://blog.csdn.net/jiang1013nan/article/deta ...
- 深入学习之mysql(二)表的操作
1.表:是数据库中的存储数据的基本单位,一个表包含若干个字段和值 2.创建表: CREATE TABLE 表名称 ( 字段名1 数据库类型1 [约束条件1], 字段名2 数据库类型2 [约束条件2], ...
- Map的常用方法keySet()、entrySet()
Map是java中的接口,Map.Entry是Map的一个内部接口. Map提供了一些常用方法,如keySet().entrySet()等方法,keySet()方法返回值是Map中key值的集合:en ...
- set和dict
dict属于mapping类型 from collections.abc import Mapping,MutableMapping from collections.abc import __all ...
- HTTP协议详解之消息报头
原文地址:http://www.cnblogs.com/devinzhang/archive/2012/02/06/2340186.html HTTP消息由客户端到服务器的请求和服务器到客户端的响应组 ...
- nodeJS(2)深了解: nodeJS 项目架构详解(app.js + Express + Http)
简略了解:nodeJS 深了解(1): Node.js + Express 构建网站预备知识 环境: 环境: win7 + nodeJS 版本(node): 新建 nodeJS 项目: 名称为: te ...
- about loops in assembly code
总结: 实际上只有一种结构,都是 do-while 结构