我画了个向右运动的曲线,如何让先画的隐去(好像是刷新的问题吧),我初学请指教!(内附代码)

qazboy 2005-05-28 06:12:00
这是部分代码,如何加入刷新功能?

谢谢指教!


for(double k=-20;k<=20.0;k+=0.1)
{
dc.SelectObject(&pen);
dc.BeginPath();
dc.MoveTo(-32000,0);
dc.LineTo(32000,0);
dc.MoveTo(-32000,int(FunMove(-32.0,k,a,b,c)*1000)+4000);
for( t = -32.000+0.02;t<= 32.000;t+=0.01)
{
double y ;
y = int(FunMove(t,k,a,b,c)*1000)+4000;

break;
}
dc.EndPath();
dc.StrokePath();
}
...全文
83 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qazboy 2005-05-28
  • 打赏
  • 举报
回复
谢谢各位的回复

我的程序没用到定时器,我也不会用

就是上面的程序,怎么写个退出按钮的函数

我是下面这样写的,可一点程序就死了,不知该怎么写

void CFun1Dlg::OnButtonExit() //退出按钮
{


CDialog::OnOK();

}
zengwujun 2005-05-28
  • 打赏
  • 举报
回复
很耗内存应该不会的,你把两种笔保存为全局变量,只创建一次就够了。
用GDI绘图,如果刷新快,是有闪烁的,跟你说的没有关系。

另外,用什么函数能让程序在中途退出,刷新,我好输入新的参数
------------------
你是指杀死定时器把,killTimer就不会画图了,然后在输入参数之后,SetTimer
qazboy 2005-05-28
  • 打赏
  • 举报
回复
我也是用两种笔来画只是觉得这样的程序运行起来很耗内存

我的程序运行起来有闪烁感,不知是不是这个原因?

另外,用什么函数能让程序在中途退出,刷新,我好输入新的参数



zengwujun 2005-05-28
  • 打赏
  • 举报
回复
1.需要一个定时器,每50ms刷新一次(人眼可以感觉到连续运动)
2 一支黑笔,一支白笔,在处理定时事件时候,先用白笔把前面的图
画一次,再用黑笔画新坐标的图
newbiestar 2005-05-28
  • 打赏
  • 举报
回复
什么叫做先画的隐去?如果是需要在画出一定数量的点以后把以前的去掉,那么可以采用一个固定大小的队列,每次去掉先前的东西,然后加上后面的东西,并且重绘……
烟火...... 2005-05-28
  • 打赏
  • 举报
回复
你可以建立2个画笔:一个用颜色A在前面画线,一个用背景颜色B在其后画前面的笔画过的线,至于其间隔看你自己需要了(这样 你在前面画的线,当第2只笔画过的时候就会和背景色一样,等于抹掉了(消隐).

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧