以下是绘制线程,程序刚开始运行,创建并挂起此线程!当外部添加满足时再唤醒(ResumeThread(g_hDrawThread);)
DWORD _stdcall ThreadDraw(LPVOID LpDataPram)
{
CView* f_pView = (CView*)LpDataPram;//得到视类指针
wglMakeCurrent(f_pView->hDC,f_pView->m_hglrc);//m_hglrc为CView中,HGLRC类型的句柄
while(1)
{
DrawViewPort();//绘制视口,包括网格坐标系,具体绘制图像就在此函数中
SuspendThread(g_hDrawThread);//一次绘制完成,就挂起线程
}
wglMakeCurrent(NULL,NULL);
return 0;
}程序运行并进入线程及DrawViewPort()函数,就是无法显示绘制的图像,我想应该是此线程没有得到OpenGL绘制窗口的RC,在此 wglMakeCurrent(f_pView->hDC,f_pView->m_hglrc);好像没影响啊!求指教。
DWORD _stdcall ThreadDraw(LPVOID LpDataPram)
{
CView* f_pView = (CView*)LpDataPram;//得到视类指针
wglMakeCurrent(f_pView->hDC,f_pView->m_hglrc);//m_hglrc为CView中,HGLRC类型的句柄
while(1)
{
DrawViewPort();//绘制视口,包括网格坐标系,具体绘制图像就在此函数中
SuspendThread(g_hDrawThread);//一次绘制完成,就挂起线程
}
wglMakeCurrent(NULL,NULL);
return 0;
}程序运行并进入线程及DrawViewPort()函数,就是无法显示绘制的图像,我想应该是此线程没有得到OpenGL绘制窗口的RC,在此 wglMakeCurrent(f_pView->hDC,f_pView->m_hglrc);好像没影响啊!求指教。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货