首页 新闻 搜索 专区 学院

MFC中OnTimer()时间函数为什么在窗口最小化才能进去

0
悬赏园豆:10 [已关闭问题] 关闭于 2016-02-14 18:17

我在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();
smallpi的主页 smallpi | 初学一级 | 园豆:198
提问于:2016-02-13 23:47
< >
分享
所有回答(1)
0

是否是多次进入,可以写控制台或输出日志文件看看

2012 | 园豆:21027 (高人七级) | 2016-02-14 10:38

我刚刚发现问题的来源了,发现只要添加了OnEraseBkgnd事件函数就会出现这种情况,这是怎么回事?

支持(0) 反对(0) smallpi | 园豆:198 (初学一级) | 2016-02-14 13:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册