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])连起来,直到所有点都画出。请问用计时器怎么实现?麻烦至少写一些代码,伪代码也行。
展开
1个回答
展开全部
这很简单,都放在单文档的View中处理
添加成员currentIndex,代表需要画到第几个
实现按钮单击事件,比如为OnButtonClick
void OnButtonClick()
{
SetTimer(1,1000,NULL);
currentIndex = 0;
}
在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 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询