在文档试图应用程序,有时需要在工作区切换试图,以下就是如何切换试图了
1.创建要切换的视图类,同时把构造函数,Create函数改变为public
2.在需要切换试图的动作响应中,加入切换代码,一般是在CMainFrame的菜单响应中加:
void CMainFrame::On32771()
{// TODO: Add your command handler code hereCView *pOldActiveView=GetActiveView();//旧视图CMyView *pNewActiveView=new CMyView();//要切换的视图
 CCreateContext context;context.m_pCurrentDoc=pOldActiveView->GetDocument();//关联到文档.为什么,文档视图,MFC中每个视图要对应一个文档//创建视图并且关联到上下文中,IDD_MYVIEW为视图CMyView的ID号pNewActiveView->Create(NULL,NULL,WS_CHILD | WS_BORDER,CFrameWnd::rectDefault,this,IDD_MYVIEW,&context);pNewActiveView->UpdateData();//视图显示/隐藏
 SetActiveView(pNewActiveView);pNewActiveView->ShowWindow(SW_SHOW);pOldActiveView->ShowWindow(SW_HIDE);//重新布局主框架pNewActiveView->SetDlgCtrlID(AFX_IDW_PANE_FIRST);RecalcLayout();delete pOldActiveView;
}
3.想要切换回去,一样:CMyView *pOldActiveView=(CMyView *)GetActiveView();//旧视图CChangeViewView *pNewActiveView=new CChangeViewView();//要切换的视图
 CCreateContext context;context.m_pCurrentDoc=pOldActiveView->GetDocument();//关联到文档.为什么,文档视图,MFC中每个视图要对应一个文档//创建视图并且关联到上下文中,IDD_MYVIEW为视图CMyView的ID号pNewActiveView->Create(NULL,NULL,WS_CHILD | WS_BORDER,CFrameWnd::rectDefault,this,IDD_MYVIEW,&context);pNewActiveView->UpdateData();//视图显示/隐藏
 SetActiveView(pNewActiveView);pNewActiveView->ShowWindow(SW_SHOW);pOldActiveView->ShowWindow(SW_HIDE);//重新布局主框架pNewActiveView->SetDlgCtrlID(AFX_IDW_PANE_FIRST);RecalcLayout();delete pOldActiveView;运行即可实现视图切换

转载于:https://www.cnblogs.com/chenzuoyou/p/3214393.html

MFC文档视图中窗口切换 (2012-05-11 18:32:48)相关推荐

  1. MFC 文档 视图 框架窗口间的关系 和消息传送规律

    在MFC中引入了文档-视结构的概念,文档相当于数据容器,视相当于查看数据的窗口或是和数据发生交互的窗口.因此一个完整的应用一般由四个类组成:CWinApp应用类,CFrameWnd窗口框架类,CDoc ...

  2. C++--深入分析MFC文档视图结构(项目实践)

    1 必备基础知识概述 1.1 MFC 文档视图结构程序结构总揽 当我们使用 MFC AppWizard 生成一个 MFC 程序,选用所有默认的设置(当然也是 Multiple Documents ,本 ...

  3. 深入分析MFC文档视图结构(项目实践)

    文档视图结构(Document/View Architecture)是MFC的精髓,也是Observer模式的具体实现框架之一,Document/View Architecture通过将数据和其表示分 ...

  4. 玩转MFC文档视图架构编程1——深入浅出MFC文档/视图架构之基本概念深入浅出MFC文档/视图架构之文档

    原创地址: 深入浅出MFC文档/视图架构之基本概念 http://iis.xrtvu.com/Tech/ShowArticle.asp?ArticleID=276 深入浅出MFC文档/视图架构之文档模 ...

  5. MFC文档/视图结构体系及SDI回顾(2)

    1.牢骚发在最前面 三件事情杂糅到了一起弄得我彻夜未眠. 香港大学的Offer不小心丢在了垃圾邮箱里,却阴差阳错的来了清华.平台是一方面,当时谈好的港府奖学金也就此泡汤,这笔钱是我急需的. 惊闻噩耗, ...

  6. 深入浅出MFC文档/视图架构之文档

    1.文档类CDocument 在"文档/视图"架构的MFC程序中,文档是一个CDocument派生对象,它负责存储应用程序的数据,并把这些信息提供给应用程序的其余部分.CDocum ...

  7. 深入浅出MFC文档/视图架构之文档模板

    在"文档/视图"架构的MFC程序中,提供了文档模板管理者类CDocManager,由它管理应用程序所包含的文档模板.我们先看看这个类的声明: / // CDocTemplate m ...

  8. OpenCV+MFC文档视图结构 构建简易PS图像处理软件

    简介 本文介绍了基于OpenCV图像处理库的MFC框架下的图像处理程序构建方法. 本项目依赖OpenCV库4.1.0版本,构建和编译由VS2017完成. 程序目录 simPS2.h/simPS2.cp ...

  9. 文档视图结构下多视图间的控制

    程序结构: 创建了一个基于CFormView的MFC文档视图结构的程序,并用CSplitterWnd将窗口分割为2列,左边显示默认创建CFormView视图,右边是CHtmlView视图. 在CFor ...

  10. MFC让文档/视图结构程序支持滚动条

    MFC让文档/视图结构程序支持滚动条 2009-06-30 09:26要通过滚动条显示文档,还必须知道文档滚动到了什么位置:一旦用户拖动滚动条时要告诉视图改变在文档中 的位置.所有这些,由MFC的CS ...

最新文章

  1. 【组队学习】【29期】Datawhale组队学习内容介绍
  2. 中国在科技领域崛起 美国人的保护主义蠢蠢欲动
  3. MySql学习19-----用户管理
  4. eclipse手动安装alibaba代码规范插件
  5. 房贷利率上浮30%利息太高吃不消,如何让利率变成下浮10%?
  6. 和可被 K 整除的子数组
  7. Redmi K30 Pro渲染图曝光:升降式前置双摄相机模组亮眼
  8. ERP咨询顾问是怎么炼成的?
  9. python基础教程是什么-Python基础教程(一)
  10. 微弱光信号检测MATLAB,微弱信号检测笔记(更新中... 2021年3月9日)
  11. python列表常见的5种去重方法
  12. 【项目实战】高并发内存池
  13. 如何简单可靠地装系统-软碟通
  14. [CTSC2010]珠宝商 SAM+后缀树+点分治
  15. 笔记本win10宽带共享wifi热点教程
  16. 简单理解2台主机数据通信过程
  17. CSS3(新增选择器,nth选择器,伪元素)
  18. sv package
  19. 百度云主机只能访问首页,bcloud_nginx_user.conf配置
  20. jenkins远程执行脚本不退出Exec in pty

热门文章

  1. 这款 Android 图片选择库美哭了
  2. 工信部出手:统一国内 Android 推送标准
  3. 循环神经网络之LSTM和GRU
  4. ARM中R0-R15寄存器的作用
  5. canvas与svg的区别
  6. CentOS7 安装jdk8
  7. 2017-2018-1 20155330 《信息安全系统设计基础》第3周学习总结
  8. css设置字体的行数,超出显示...
  9. jQuery阻止表单提交
  10. Java语言程序设计基础篇第10版第5章习题答案