MFC单文档程序用计时器实现动态画图

我现在有一组数据,比如x[i]和y[i],想点击一个按钮后立刻画出(x[0],y[0]),一秒后画出(x[1],y[1]),并和(x[0],y[0])连起来,再一秒后画出... 我现在有一组数据,比如x[i]和y[i],想点击一个按钮后立刻画出(x[0],y[0]),一秒后画出(x[1],y[1]),并和(x[0],y[0])连起来,再一秒后画出(x[2],y[2]),并和(x[1],y[1])连起来,直到所有点都画出。请问用计时器怎么实现?麻烦至少写一些代码,伪代码也行。 展开
 我来答
笑真牛
2014-05-15
知道答主
回答量:9
采纳率:0%
帮助的人:7.7万
展开全部

这很简单,都放在单文档的View中处理

  1. 添加成员currentIndex,代表需要画到第几个

  2. 实现按钮单击事件,比如为OnButtonClick

    void OnButtonClick()

    {

      SetTimer(1,1000,NULL);

      currentIndex = 0;

    }

  3. 在View中的OnDraw中添加绘制代码

    void OnDraw(CDC* dc)

    {

        for(int i=0; i<currentIndex-1; ++i)

        {

            DrawLine( x[i], y[i], x[i+1], y[i+1]);

        }

    }

    4. 添加 afx_msg void OnTimer( UINT nIDEvent) 并添加处理

    void OnTimer(UINT id)

    {

       ++currentIndex;

        invalidaterect(NULL);  //关键是这句,让窗体重新绘制

    }

追问
currentIndex值的设置不是很懂,定义时赋值吗?为什么第二步中=0,第四步中++?不断地加,会不会超过点的数量?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式