关于opengl中rc的问题删除一重建问题?
海蓝光科技 2003-10-18 03:28:34 我在多文档中调用opengl画图
图形数据保存在文件中,第一次导入的时候图形是可以正常显示,但如果我重新打开前一次的文件,图形就没法显示。但是打开其他文件,图形可以正常显示。
程序是在oncreate中创建rc
其中m_pdc和m_hrc是我定义的成员函数
int CMyOpenGLView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
m_pdc=new CClientDC(this); //构造CDC对象
int nPixelFormat=ChoosePixelFormat(m_pdc->m_hDC,&pfd); //选择像素 SetPixelFormat(m_pdc->m_hDC,nPixelFormat,&pfd);
m_hrc=wglCreateContext(m_pdc->m_hDC); //创建RC
n=::GetPixelFormat(m_pdc->GetSafeHdc());
::DescribePixelFormat(m_pdc->GetSafeHdc(),
n,sizeof(pfd),&pfd);
wglMakeCurrent(m_pdc->GetSafeHdc(), m_hrc);
}
void CMyOpenGLView::OnDestroy()
{
if (m_hrc){
::wglMakeCurrent(NULL,NULL);
::wglDeleteContext(m_hrc); //删除 RC
}
if ( m_pdc ){
delete m_pdc; //Delete DC
m_pdc=NULL;
}
}