vc6中MFC对话框下使用OpenGL显示的内容不正确
我在我编写的对话框上想加入一个picture控件,里面调用OpenGl来显示一些图像,这是加在一个线程下面的,其结果完全是乱的。
另外我还用一个小程序测试了下,发现用计时器触发就有效
OnTimer()
{
Draw();
SwapBuffer(hdc);
}(代码忘记带回来了,意会)
但是在线程下
ShowThread()
{
while(1)
{
Draw();
SwapBuffer(hdc);
}
}
出现的就是乱七八糟的东西,貌似这个Draw()根本就没有执行,只是两幅图在哪里交替,而且连别的程序中出现的图片都会贴出来。
实验室不能上网提问,回来提问又忘了带代码,只能意会了,求大神解答
OpenGL VC MFC 对话框
[解决办法]
那就用计时器好了
跨线程操作界面对象本来就是不安全的
[解决办法]
while是循环
而且你这里是永真循环
你确定这样没问题?
CPU占用超过90%了吧
[解决办法]
下载我的“DynViews.zip”0分
http://download.csdn.net/detail/schlafenhamster/4206078
在对话框标签控件中产生OpenGL视图。共有5个不同的gl视图
[解决办法]
picture 控件的 那个 hdc 要 用 临界区 锁住