| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1345 人关注过本帖
标题: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
快速回复:OnTimer()函数问题
数据加载中...
 
   



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

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