关于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;
}

}
...全文
116 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
海蓝光科技 2003-10-18
  • 打赏
  • 举报
回复
to : lsl7909(笑一凡)
还是不行啊
不过我一直对其中的图进行放大图竟然就能显示出来只是视点有点问题
真是郁闷发了我好几天了
lsl7909 2003-10-18
  • 打赏
  • 举报
回复
m_pdc=new CClientDC(this); 改一下试试:HDC hdc = ::GetDC(GetSafeHwnd());
海蓝光科技 2003-10-18
  • 打赏
  • 举报
回复
不过我如果把m-hrc定义成全局变量不要重建道是可以画出来

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧