1.新建一个是继承CView的新类CViewSecond

  2.menu中建两个菜单,在mainframe中添加对应的消息响应OnDataView,On3dView

   mainframe中添加成员变量m_curView;下面代码中ShowWindow(SW_SHOWMAXIMIZED),参数一定是最大化的参数啊,千万别写SW_SHOW,debug好大会儿,发现参数为SW_SHOW的时候视图rect为0啊,0啊。。。。只有移动窗口的时候才显示opengl,发现,ondraw函数死活不被调用,然后消息响应onpaint添加ondraw也不行。。。 最后试试试试 。。。参数的问题。。。。。残念啊。。。

 1 void CMainFrame::On3dView()
 2 {
 3     // TODO: 在此添加命令处理程序代码
 4     if (m_curView == ID_3D_VIEW)
 5     {
 6         return;
 7     }
 8     CView* pOldActiveView = GetActiveView();
 9     CRuntimeClass* pNewViewClass;
10     pNewViewClass = RUNTIME_CLASS(CViewSecond);
11     CCreateContext context;
12     context.m_pNewViewClass = pNewViewClass;
13     context.m_pCurrentDoc = GetActiveDocument();
14     CView* pNewView = STATIC_DOWNCAST(CView, CreateView(&context));
15     if (pNewView != NULL)
16     {
17         pNewView->ShowWindow(SW_SHOWMAXIMIZED);
18         pNewView->OnInitialUpdate();
19         SetActiveView(pNewView);
20         RecalcLayout(TRUE);
21         m_curView = ID_3D_VIEW;
22         pOldActiveView->DestroyWindow();
23     }
24
25
26 }
27
28 void CMainFrame::OnDataView()
29 {
30     // TODO: 在此添加命令处理程序代码
31     if (m_curView == ID_DATA_VIEW)
32     {
33         return;
34     }
35     CView* pOldActiveView = GetActiveView();
36     CRuntimeClass* pNewViewClass;
37     pNewViewClass = RUNTIME_CLASS(CDocView);
38     CCreateContext context;
39     context.m_pNewViewClass = pNewViewClass;
40     context.m_pCurrentDoc = GetActiveDocument();
41     CView* pNewView = STATIC_DOWNCAST(CView, CreateView(&context));
42     if (pNewView != NULL)
43     {
44         pNewView->ShowWindow(SW_SHOWMAXIMIZED);
45         pNewView->OnInitialUpdate();
46         SetActiveView(pNewView);
47         RecalcLayout();
48         m_curView = ID_DATA_VIEW;
49         pOldActiveView->DestroyWindow();
50     }
51
52 }

  3.CViewSecond中添加相应的初始化OpenGL的各种东西,OK。。。。

转载于:https://www.cnblogs.com/AZ-ZK/p/4222441.html

单文档切换OpenGL视图相关推荐

  1. C++--在单文档的应用程序增加多个视图

    在mfc的单文档的应用程序(Application)设计时,一般是一种文档(Documnet)对应一种视图(View) .然而在有些时候我需要一种文档用多种视图来展现,具体步骤如下: 我们有两个假设 ...

  2. OpenGL MFC单文档 实现轨迹球

    OpenGL MFC单文档 实现轨迹球 前言:我是一个怀揣着伟大梦想的普通男生!结果就是,一有时间就幻想着自己的伟大梦想,忘了自己下一步该迈出左脚还是右脚.这不,只顾做梦了,时光可不管我,独自一个人走 ...

  3. VC++ 单文档的状态栏编程、CEditView类实现编辑器功能、编辑框显示行号列号

    Win10 企业版:VC6: 新建一个单文档工程:默认的视图类的基类是CView:选择CEditView类作为,看一下生成的效果: 构建一下:运行:以CEditView作为基类,生成的应用程序具有编辑 ...

  4. VC++ 单文档项目显示打开的文件

    VC++ 新建一个单文档项目以后,直接运行:效果如下: 界面上的菜单,工具条,都是单文档项目框架自动生成: 然后选择 文件 菜单中的 打开 文件:点击后,并看不到任何反应:但是此时框架肯定进行了一些动 ...

  5. MFC 单文档的全局变量

    单文档中每个view类中有自己的局部变量,所以在应用程序中定义全局变量要在这些View类啊,Doc类啊的外面. 待解决问题:希望对每处理一个文件,全局变量+1(如图1所示,期望处理后结果为5,CVMF ...

  6. MFC单文档框架编程(二): SDI框架下的消息处理

    MFC单文档框架编程(一) ...................................................................................... ...

  7. VC++ MFC单文档应用程序SDI下调用glGenBuffersARB(1, pbo)方法编译通过但执行时出错原因分析及解决办法:glewInit()初始化的错误...

    1.问题症状 在VC++环境下,利用MFC单文档应用程序SDI下开发OpenGL程序,当调用glGenBuffersARB(1, &pbo)方法编译通过但执行时出错,出错代码如下: OpenG ...

  8. 【数字图像处理】 二.MFC单文档分割窗口显示图片

    本文是讲述<数字图像处理>系列文章,继上篇讲述BMP格式图片和显示后,该篇讲述如何对单文档进行分割.主要是采用CSplitterWnd静态分割窗口显示图片等相关知识.本文主要结合自己的课程 ...

  9. 【MFC】利用MFC向导生成单文档应用程序框架

    00. 目录 文章目录 00. 目录 01. 解决方案与工程 02. 使用向导生成单文档应用程序框架 03. 预留 04. 附录 01. 解决方案与工程 每个应用程序都作为一个工程来处理,它包含了头文 ...

  10. MATLAB飞机大战第二版,windows程序设计——飞机大战札记(单文档文件登陆界面)...

    windows程序设计--飞机大战笔记(单文档文件登陆界面) //2015/07/21 /by xbw/// /环境 VS 2013 飞机大战做的差不多了,闲来无事加点高大上的东西,关于单文档的登陆界 ...

最新文章

  1. 7-7 宇宙无敌大招呼 (C语言)
  2. [转]C++函数模板与模板函数
  3. 科学家们竟用乐高观察细胞,网友:万万没想到啊
  4. SQL Server 监控统计阻塞脚本信息
  5. 浏览器常见bug及解决办法
  6. libusb开发指南
  7. jsr 107_如何使用JSR107缓存注释
  8. 大数据 -- 安装Hadoop-单机模式(1)
  9. 大学计算机课代表竞选稿,课代表竞选演讲稿
  10. spring3.0注解定时任务配置及说明
  11. 又用FluorineFx弄了一个精简版的实时视频聊天
  12. 收评:5月24日资金流向(摘自益盟)
  13. 开源让这位 00 后逆袭成为各类大奖收割者
  14. 《数学分析八讲》(1)-连续统理论
  15. Android应用开发——记事本
  16. vue自定义指令—directive详解
  17. NFT和游戏化的革命-通过 Play Earn 尝试世界上第一个国际象棋游戏
  18. 详谈Activity生命周期函数调用时机
  19. [Swift]语言介绍
  20. 小程序获取上一个页面或者某个页面内的值

热门文章

  1. python实现二分查找算法
  2. 斯坦福与苹果基于Apple Watch检测心率异常,0.5%人群被检出,其中84%患有房颤...
  3. RDS数据订阅服务使用说明
  4. mongoDB导出数据库所有集合内容到json文件
  5. 《Android游戏开发详解》一3.5 继承
  6. [SDOI2011]打地鼠
  7. lucene.net helper类 【结合盘古分词进行搜索的小例子(分页功能)】
  8. win7下MongoDB集群告别裸奔
  9. PowerPivot 和 SQL Azure 快速入门
  10. 耐人寻味的 8 幅Java技术图