请问各位大虾:
    我在vc下编写opGL程序,主要代码如下:
int CTestView::OnCreate(LPCREATESTRUCT lpCreateStruct) //设置像素格式以及dc和RC匹配
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;

// TODO: Add your specialized creation code here
//MessageBox("oncreate");
PIXELFORMATDESCRIPTOR pfd=
{
sizeof(PIXELFORMATDESCRIPTOR),
    1,
PFD_DRAW_TO_WINDOW|
PFD_SUPPORT_OPENGL|
PFD_DOUBLEBUFFER,
PFD_TYPE_RGBA,
24,
0,0,0,0,0,0,
0,
0,
0,
0,0,0,0,
32,
0,
0,
PFD_MAIN_PLANE,
0,
0,0,0
};
CClientDC dc(this);
int pixelFormat=ChoosePixelFormat(dc.m_hDC,&pfd);
BOOL success=SetPixelFormat(dc.m_hDC ,pixelFormat,&pfd);
m_hRC=wglCreateContext(dc.m_hDC);
    wglMakeCurrent(dc.m_hDC,m_hRC);
glClearDepth(1.0f);
glEnable(GL_DEPTH_TEST);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
return 0;
}void CTestView::OnSize(UINT nType, int cx, int cy) //设置视口与窗口一样大
{
CView::OnSize(nType, cx, cy);

// TODO: Add your message handler code here
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glViewport(0,0,cx,cy);
}
void CTestView::OnDraw(CDC* pDC)
{
CTestDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
glClearColor(0.0,0.0,0.0,0.0);  //设置背景颜色,为黑色
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
DrawScene();  //真正的画图函数
glFlush();
SwapBuffers(wglGetCurrentDC());
}
void CTestView::DrawScene()
{
//此处可以添加图形绘制的代码 glBegin(GL_LINES);
glColor3f(1.0,1.0,0.0);
glVertex2f(-0.1,0.8);
glVertex2f(-0.7,0.7);
glColor3f(1.0,0.0,1.0);
glVertex2f(-0.1,0.9);
glVertex2f(-0.8,0.6);
glEnd();
}    这个程序功能很简单,就是在黑色背景上画两条浅红和黄色的线的,另我感到奇怪的是,程序执行后窗口是白色的,如果不断放大缩小几次窗口后,窗口背景有时能变成黑色,这时候线条也画出来了。这是为什么?谢谢!