问题补充:
这下面是部分函数:
void COpengl::DrawWithOpenGL()
{
glLoadIdentity();
glColor3f(0.0,1.0,1.0);
glBegin(GL_TRIANGLES);
glVertex3f(0.0f,1.0f,0.0f);
glVertex3f(-1.0f,-1.0f,0.0f);
glVertex3f(1.0f,-1.0f,0.0f);
glEnd();
glFlush();
}
void COpengl::SwapGLBuffer()
{
SwapBuffers(m_hdc);
}
void COpengl::ClearBuffer()
{
glClearColor(0.0,0.0,0.0,0.0);
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
}
void CMFCopenglView::OnDraw(CDC* pDC)
{
CMFCopenglDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
m_bgl.ClearBuffer();
m_bgl.DrawWithOpenGL();
m_bgl.SwapGLBuffer();
}
int CMFCopenglView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
CClientDC dc(this);
return (m_bgl.OnGLInitial(dc.m_hDC));
}