下载了一个openGL mfc的多文档程序,以此来学习mfc多文档模式的编程;
它每次新建一个文档,会在窗口绘制一个三角形、一个矩形;如果没有了图形刷新一下;
先看一下为什么每次打开新文档会绘制图形;
生成工程之后主要有5个类,比单文档程序多了一个子框架类;
可以打开多个窗口,View类只有一个;View类的OnDraw()函数是在窗口绘制内容;如果在View类的OnDraw()函数添加绘制代码,绘制的内容就会出现在每个打开的子窗口;
- void COpenglMFCTestView::OnDraw(CDC* pDC)
- {
- COpenglMFCTestDoc* pDoc = GetDocument();
- ASSERT_VALID(pDoc);
- if (!pDoc)
- return;
-
- // TODO: 在此处为本机数据添加绘制代码
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- // 我们绘制图像的代码就放在这里
-
- //RenderScene();
- DrawGLScene();
-
- glFinish();
-
- SwapBuffers(m_pDC->GetSafeHdc())