博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单文档切换OpenGL视图
阅读量:4691 次
发布时间:2019-06-09

本文共 1893 字,大约阅读时间需要 6 分钟。

  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

你可能感兴趣的文章
Cosine Similarity
查看>>
halt和shutdown 的区别
查看>>
git常用操作
查看>>
京东SSO单点登陆实现分析
查看>>
u-boot启动第一阶段
查看>>
MySQL批量SQL插入性能优化
查看>>
定义列属性:null,default,PK,auto_increment
查看>>
用户画像展示
查看>>
C#中StreamReader读取中文出现乱码
查看>>
使用BufferedReader的时候出现的问题
查看>>
linux安装图形界面
查看>>
博弈论之入门小结
查看>>
解决IE8下opacity属性失效问题,无法隐藏元素
查看>>
批处理文件中的路径问题
查看>>
hibernate出现No row with the given identifier exists问题
查看>>
为什么wait()和notify()属于Object类
查看>>
PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同!
查看>>
导入properties时的坑
查看>>
配置NRPE的通讯
查看>>
shp系列(一)——利用C++进行shp文件的读(打开)与写(创建)开言
查看>>