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 ...
随机推荐
- dib build ipa image Injection password
针对dib制作的deploy image,注入密码有两种方式: devuser/dynamic-login .对应 dib 添加密码,是通过 dynamic-login element 来完成的. 首 ...
- 微信小程序--微信小程序tabBar不显示:缺少文件,错误信息:error:iconPath=
1.list中的第一个tab的地址必须定义在pages 中 2.pagePath的地址一定要正确 正确写法是: "tabBar": { "color": &qu ...
- 理解点击屏幕的事件响应--->对UIView的hitTest: withEvent: 方法的理解
要理解这两个方法.先了解一下用户触摸屏幕后的事件传递过程. 当用户点击屏幕后,UIApplication 先响应事件,然后传递给UIWindow.如果window可以响应.就开始遍历window的su ...
- pdo防sql注入
http://blog.csdn.net/qq635785620/article/details/11284591
- FusionCharts参数大全
原文发布时间为:2010-01-11 -- 来源于本人的百度文章 [由搬家工具导入] Fusioncharts 参数 objects ANCHORS 锚点 用于标识line或area的数值点 支持效果 ...
- O(∩_∩)O哈哈~
原文发布时间为:2009-04-30 -- 来源于本人的百度文章 [由搬家工具导入]
- GC+JVM
1.内存管理模型 ①以对象的方式管理内存,每个对象占据内存中连续的一段,分配在堆中.对象引用可以指向堆中的其他对象.非基本数据类型的对象等价于数据引用. ②基于栈和堆的内存管理都是动态分配,即在运行时 ...
- pyspider 爬虫教程(一):HTML 和 CSS 选择器
虽然以前写过 如何抓取WEB页面 和 如何从 WEB 页面中提取信息.但是感觉还是需要一篇 step by step 的教程,不然没有一个总体的认识.不过,没想到这个教程居然会变成一篇译文,在这个 ...
- Vim查找替换及正则表达式的使用
原文地址:http://tanqisen.github.io/blog/2013/01/13/vim-search-replace-regex/ 简单替换表达式 :[range]s/from/to/[ ...
- wxformbuilder
1.打开wxFormBuilder,按开始一个空项目.您也可以执行File|New来创建新项目2.从Object Properties(对象属性)面板配置项目的设置A.选择产生什么类型的代码. 现在你 ...