关于动态画图

tantiantian 2004-09-08 07:38:06
有没有可能在vc里实现动态画图,比如画一条直线,在规定的时间内,可以看到一个点一个点的画出来,
能行的话,该怎么做?
最好能有代码。详细点
...全文
121 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
菜牛 2004-09-09
  • 打赏
  • 举报
回复
LineDDA
stevecrisewu 2004-09-09
  • 打赏
  • 举报
回复
对,定时器。
ddszhan 2004-09-09
  • 打赏
  • 举报
回复
使用定时器。
// 初始化当前点坐标
SetTimer(ID_MYTIMER, 100, NULL);

//...........

OnTimer(......)
{
if (ID_MYTIMER==nIDEvent)
{
//计算下一点坐标
//当前点到下一点画线
//将下一点保存为当前点
}
}
tantiantian 2004-09-09
  • 打赏
  • 举报
回复
sleep行倒是行,机器变慢了哈
xdxkxc 2004-09-09
  • 打赏
  • 举报
回复
LineDDA
nlstone 2004-09-09
  • 打赏
  • 举报
回复
SetTimer的意思是每隔若干时间调一次OnTimer
所以每一次OnTimer只画一次,只有一个moveto,lineto,每次OnTimer改变画线的位置就可实现渐显

再简单一点可以这样在你画线的循环中加一个Sleep(100),也可以实现动画效果
nlstone 2004-09-09
  • 打赏
  • 举报
回复
~晕,哪是你这样的定时...
tantiantian 2004-09-09
  • 打赏
  • 举报
回复
不是很明白
我自己写了一个,但没有我想要的动态效果
BOOL CGraphic::OnInitDialog ()
{
m_nTimer = this->SetTimer(1, 2000, 0);
return true;
}
void CGraphic::OnTimer(UINT nIDEvent)
{
CDC *pDC = GetDC();
CPen pen(PS_SOLID,0,RGB(255,0,0)),*pOldPen;
pOldPen=pDC->SelectObject(&pen);
for(int i=0;i<=1000;i++)
{
pDC->MoveTo(i,i);
pDC->LineTo(i+1,i+1);
pDC->MoveTo(i+1,i+1);
}
}
flyelf 2004-09-08
  • 打赏
  • 举报
回复
定时器

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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