MFC中Doc类获取View类的方法(SDI)
从view类中获取Doc的方法如下:
CYourDoc* pDoc = GetDocument();
这个函数已经写好,所以无需自己添加,使用时直接利用pDoc即可。
若反过来,从Doc中获取View中的函数,就需要自己写一些代码来进行获取View的指针。
主要是通过一些成员函数进行操作:
virtual POSITION GetFirstViewPosition() const;
virtual CView* GetNextView(POSITION pos) const;
利用这些函数,在自己的Doc文件中进行实现:
CYourView* pView;
POSITION pos = GetFirstViewPosition();
pView = GetNextView(pos);
有时候最后一行代码会出现错误,提示代码为:
error C2440: '=' cannot convert from 'CView *' to 'CYourView‘
为此我们可以利用类型转换来处理:
pView = dynamic_cast<CYourView*>(GetNextView(pos));
这样便实现了单文档单视图项目中Doc对View类的捕获。
MFC中Doc类获取View类的方法(SDI)的更多相关文章
- (转)MFC中Doc,View,MainFrmae,App各指针的互相获取
App是应用域,所有的域中的东西都可以通过全局函数访问到它. MainFrame是主框架,也基本可以用全局函数访问到. MainFrame下是若干个ChildFrame,ChildFrame中若干个V ...
- 在MFC中使用一个单独的类实现数据在各个类之间的传递
第一步:使用VS2010创建一个基于MFC的单文档程序,然后 编译 运行 确定没有问题. 第二步:添加一个名叫CGszCommonData 类. 第三步:在应用程序类的头文件里 添加#includ ...
- robotium 中通过id获取 View 以及进行相应的操作
robotium 中id的几种表现形式 1)字符串形式:例如id/btn_example,源码中的布局里些的hierachy 中看见的都是这种. 2)数字形式:例如0x7f0700D,打开R.java ...
- MFC中获取命令行参数的几种方法
在MFC程序中,可以用以下几种方法来获取命令行参数. 为方便说明,我们假设执行了命令:C:\test\app.exe -1 -2 方法一 ::GetCommandLine(); 将获取到 " ...
- VC++/MFC中调用CHM帮助文档的方法
转载:http://blog.csdn.net/hediping9811/article/details/23341387 (1)用Word编辑好帮助文档,并保存为网页格式,如mhtml格式. (2) ...
- Java中通过Class类获取Class对象的方法详解
方式1:通过Object类的getObject()方法 Person p = new Person(); Class c = p.getClass(); 方式2: 通过 类名.class 获取到字节码 ...
- MFC中查找替换对话框CFindReplaceDialog类
void CCFindReplaceDialogView::OnFind() { CFindReplaceDialog* pDlg = new CFindReplaceDialog(); pDlg-& ...
- MFC中打开一个获取路径的对话框
不废话,上代码 CString m_FileDir; BROWSEINFO bi; ZeroMemory(&bi, sizeof(BROWSEINFO)); bi.hwndOwner = m_ ...
- PHP开发中session无法获取和保存问题解决方法
今天在程序设计中无法在session中获得内容,使用编辑器打开php.ini配置文件,在其中搜索"session.save_path", 把行中前面注释用的";" ...
随机推荐
- Qt选择文件对话框-中文路径-转std::string
#include <QFileDialog>#pragma execution_character_set("utf-8") QString path = QFileD ...
- 第十五篇:关于TCP通信程序中数据的传递格式
前言 在之前的回射程序中,实现了字符串的传递与回射.幸运的是,字符串的传递不用担心不同计算机类型的大小端匹配问题,然而,如果传递二进制数据,这就是一个要好好考虑的问题.在客户端和服务器使用不同的字节序 ...
- 虚拟机如何装LINUX
VMware 提供了免費的虛擬機 VMware player 5.0.2 供使用者下載. 從 VMware 官網http://www.vmware.com/. 的頁面進入 “Products” “ ...
- css纯字母或者字母换行显示
white-space:normal; word-break:break-all;
- nginx 重复提交 重复请求问题
我遇到的奇葩问题. 后台使用的是nginx + tomcat 前端页面确实只发送了一个ajax请求到后台. 后台却接收到了两条请求! 百度了一下,说是因为nginx负载均衡,一个请求超时后会重复发送一 ...
- jstl标签怎么实现分页中下一页
<script type="text/javascript"> //分页按钮处理 function goPageAction(page ...
- 安装Memcache的PHP扩展
查看memcached是否启动 # ps -ef | grep memcached 安装Memcache的PHP扩展 1.在http://pecl.php.net/package/memcache 选 ...
- 页面链接跳转历史URL不记录的兼容处理
1.阻止跳转a标签的链接 2.location.replace(href) 不生成新的历史记录, 但有bug 3.首先通过HTML5 history.replaceState()方法把当前URL地址替 ...
- virgo-tomcat访问日志的详细配置
Tomcat 日志信息分为两类:1.运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息.2.访问日志信息,它记录的访问的时间.IP.访问的资料等相关信息. 关于tomcat访问日志的产 ...
- 【BZOJ4515】[Sdoi2016]游戏 树链剖分+线段树
[BZOJ4515][Sdoi2016]游戏 Description Alice 和 Bob 在玩一个游戏. 游戏在一棵有 n 个点的树上进行.最初,每个点上都只有一个数字,那个数字是 1234567 ...