标题:OnTimer()函数问题
取消只看楼主
suchengjie
Rank: 1
等 级:新手上路
帖 子:118
专家分:1
注 册:2013-3-2
结帖率:90%
已结贴  问题点数:20 回复次数:6 
OnTimer()函数问题
我在View类的OnCreate中加入一个定时器SetTimer(0,100,NULL),然后再View类的OnTimer函数中写入如下代码:
        for(int i = 0 ; i < 50 ; ++i)
            {
                if(this->demdata->data != NULL)
                    this->demdata->data[300][400]-=i*100;
                if(    this->demdata->data[300][400] <0)
                    this->demdata->data[300][400]=941045;
            }
            CMainFrame *pMainFrm=(CMainFrame *)AfxGetMainWnd();
            CMDIChildWnd *pChild = pMainFrm->MDIGetActive();
            CLAIBINView *pView=(CLAIBINView*)pChild->GetActiveView();
            if(maploadok)pView->mapopen((this->demdata));
            KillTimer(0);
初始的data[300][400]=941045,表示长度为941045的直线。我现在想用一个for循环使得每循环一次让data[300][400]减去i*100,然后将每次的直线重新绘制出来。也就是让data[300][400]这条直线动态的变短。现在的问题是这条直线只是变一次而已,而不是每循环一次变一次。
搜索更多相关主题的帖子: 定时器 
2013-10-20 11:23
suchengjie
Rank: 1
等 级:新手上路
帖 子:118
专家分:1
注 册:2013-3-2
得分:0 
不是循环完之后killtimer函数才生效吗?不加killtimer的话会一直循环下去直到为负值,然后又恢复到初值,这样就停不下来
2013-10-21 08:57
suchengjie
Rank: 1
等 级:新手上路
帖 子:118
专家分:1
注 册:2013-3-2
得分:0 
应该就像你说的那样,我怎样通过显示是在ontimer中改变多少次就刷新多少次呢
2013-10-21 10:26
suchengjie
Rank: 1
等 级:新手上路
帖 子:118
专家分:1
注 册:2013-3-2
得分:0 
回复 6楼 yuccn
还是和原来的一样,只显示一次
2013-10-21 15:36
suchengjie
Rank: 1
等 级:新手上路
帖 子:118
专家分:1
注 册:2013-3-2
得分:0 
回复 7楼 潇翊
按照你说的改了,没有任何变化
2013-10-21 15:37
suchengjie
Rank: 1
等 级:新手上路
帖 子:118
专家分:1
注 册:2013-3-2
得分:0 
成员变量cout应该要赋值跟i的最大值一样,还是可以任意赋值
2013-10-21 16:41
suchengjie
Rank: 1
等 级:新手上路
帖 子:118
专家分:1
注 册:2013-3-2
得分:0 
没有那个大神帮指导一下吗
2013-10-23 12:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-422198-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.091031 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved