我在CXXXXXXXView::OnCreate()中SetTimer(1,100,NULL)
在CXXXXXXXView::OnTimer()中设置了一个断点
但是debug运行时一直不会进入OnTimer()中
当点击桌面任务栏的图标使窗口最小化时却进入了OnTimer()中,按F5后又进不去了!!
求解啊。。我是在MFC中制作openGL的动画。
MFC中OnTimer()函数为什么在窗口最小化才能进去啊。
SetTimer()时成功了的,返回1
现在又发现问题了,在OnPaint中写了CPaintDC dc;时,opengl图像不能显示但OnTimer正常了;
而当我去掉或注释掉OnPaint中的CPaintDC dc;时,opengl图像能显示,但是OnTimer就不正常了;
baidu查了半天又自己不断调试了半天,发现程序一直不断地在调用OnPaint()函数啊。
附上OnPaint()函数的代码,有大侠指导原因吗
glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_LINE_STRIP); glColor3f(1,0,0); if(count<=100){ for(int i=0; i<count; i++){ glVertex2f(points[i].x, points[i].y); } } glEnd(); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(0,100,99,101,-1,1); glFlush();
是否是多次进入,可以写控制台或输出日志文件看看
我刚刚发现问题的来源了,发现只要添加了OnEraseBkgnd事件函数就会出现这种情况,这是怎么回事?