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 ...
随机推荐
- Python+Selenium练习篇之1-摘取网页上全部邮箱
前面已经介绍了Python+Selenium基础篇,通过前面几篇文章的介绍和练习,Selenium+Python的webUI自动化测试算是入门了.接下来,我计划写第二个系列:练习篇,通过一些练习,了解 ...
- Java学习6之泛型
1.泛型定义 1.泛型类: public class Generic <T>{ public void get(T t){ System.out.println(t); } } examp ...
- 正则表达式re模块的详解-python
1.元字符([ ]),它用来指定一个character class.所谓character classes就是你想要匹配的字符(character)的集合.字符(character)可以单个的列出,也 ...
- [译]pandas .at 和.loc速度对比
df.at 一次只能访问一个值. df.loc能够选取多行多列. In [25]: %timeit df.loc[('a', 'A'), ('c', 'C')] 10000 loops, best o ...
- mysql的下载及配置(复制1)
---恢复内容开始--- MySQL数据库安装与配置详解 目录 一.概述 二.MySQL安装 三.安装成功验证 四.NavicatforMySQL下载及使用 一.概述 MySQL版本:5.7.17 下 ...
- 【转】 [UnityUI]UGUI射线检测
http://blog.csdn.net/lyh916/article/details/50947026 1.Graphic Raycaster 主要用于UI上的射线检测,挂有这个组件的物体,必须要挂 ...
- Python 字典值相加
#字典值相加 def union_dic(*objs): _keys = set(sum([obj.keys() for obj in objs],[])) _total = {} for _key ...
- P2165 [AHOI2009]飞行棋
题目描述 给出圆周上的若干个点,已知点与点之间的弧长,其值均为正整数,并依圆周顺序排列. 请找出这些点中有没有可以围成矩形的,并希望在最短时间内找出所有不重复矩形. 输入输出格式 输入格式: 第一行为 ...
- 实例对比 Julia, R, Python,谁是狼语言?
对于一个平台来说,使用者对技术本身是不敏感的,所以我们需要增加一些限制来减少集群的一些不可控情况,例如不断的写入新表/新数据却不记得删除,大量不按规范创建的表名等情况.与此同时应尽量让技术对用户透明, ...
- js4:with,for in语句,windows,location对象的使用
原文发布时间为:2008-11-08 -- 来源于本人的百度文章 [由搬家工具导入] <html> <head> <title>js</title> & ...