OpenGL freeglut画图问题

zhangxing1008 2016-07-11 11:12:40
问题是这样的,我在MFC对话框程序中,用AfxBeginThread开了一个画图线程,用来调用一个OpenGL画图窗口。
开启线程:AfxBeginThread((AFX_THREADPROC)OpenGLThread,this,0,0,0,0);//创建opengl线程
OpenGL画图程序:
void DisplayGLView()
{
//绘制接收到的数据
}
int OpenGLThread(LPVOID lpv)//线程run函数
{
while(1)
{
//接收数据程序
glutMainLoopEvent(); //进入glut循环
glutPostRedisplay();
}
}
用到glutMainLoopEvent()函数是因为需要循环接收数据,没接收一次数据就重新绘制一次图形,程序运行如下:

左边为OpenGL窗口,右边为对话框窗口。但是当我点击OpenGL窗口右上角的关闭按钮后整个程序就退出了,对话框窗口也关闭了,那怎么能只关闭OpenGL窗口,而对话框窗口还继续运行呢?
...全文
258 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangxing1008 2016-07-15
  • 打赏
  • 举报
回复
引用 4 楼 qq_26849233 的回复:
把glutPostRedisplay();放到绘图回调函数中去
谢谢,是这样解决的。
赵同学 2016-07-15
  • 打赏
  • 举报
回复
把glutPostRedisplay();放到绘图回调函数中去
赵4老师 2016-07-12
  • 打赏
  • 举报
回复
Multiple Threads in the User Interface http://msdn.microsoft.com/zh-cn/library/ms810439.aspx
zhangxing1008 2016-07-12
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
SetParent The SetParent function changes the parent window of the specified child window. HWND SetParent( HWND hWndChild, // handle to window whose parent is changing HWND hWndNewParent // handle to new parent window ); ?
不懂?能否给个例子
赵4老师 2016-07-12
  • 打赏
  • 举报
回复
SetParent The SetParent function changes the parent window of the specified child window. HWND SetParent( HWND hWndChild, // handle to window whose parent is changing HWND hWndNewParent // handle to new parent window ); ?

24,855

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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