闻心阁

一蓑烟雨看苍生,半壶浊酒笑红尘

VC计时器实例演示

2011-06-24 约 4 分钟读完 搬砖秘籍

之前写过一篇说进度条的文章,有个高手朋友告诉我说可以自己设置一个计时器,每固定一段时间让进度条走一格,感觉这个想法不错。于是实践了一下,网上许多关于计时器SetTimer和OnTimer的用法,这里就不说了,直接列举一个实例吧。

STEP 1 在OnInitDialog在添加SetTimer

//20052008需要手动添加
BOOL ProgressYS::OnInitDialog(void)

{

CDialog::OnInitDialog();

m_pro.SetRange(0,100);

m_pro.SetStep(10);

SetTimer( IDTIMER1 ,1000,NULL);

return 0;

}

STEP 2 用OnTimer函数响应定时器

int a=0;

void ProgressYS::OnTimer(UINT_PTR nIDEvent)

{

// TODO: 在此添加消息处理程序代码和/或调用默认值

if (a==10)

{

KillTimer(IDTIMER1);

OnOK();

}

SetDlgItemText(IDC_STATIC_YS,_T("正在处理"));

m_pro.StepIt();

a++;

CDialog::OnTimer(nIDEvent);

}

效果图:

看,进度条逐渐“勃起”了,有木有!

相关附件:完整代码下载

12 条评论

  1. 绿子弹
    可惜我用不上这个,呵呵
    1. Sailor 博主
      🙁 🙁 🙁 我们天天跟这个打交道
  2. kassol_zx
    还真的改了啊,嘿嘿 😆 不过我不是高手哦,菜鸟一个 😳
    1. Sailor 博主
      恩,那是,主要我也是新手,所以有人提出什么,就想去学习
  3. 邓肯
    好专业的技术
    1. Sailor 博主
      这个木有技术,被我们专业给逼的~
  4. 面条
    ❗ 我只有无情的飘过 😎
    1. Sailor 博主
      飘吧,呵呵,欢迎常来飘
  5. 北京艺术照
    没事关注这些东西,了解了解也很不错的
    1. Sailor 博主
      呵呵,谢谢关注
  6. haitanghuizi
    主要是想请教哈计时器的用法啊,呵呵~~
    1. Sailor 博主
      额,这个很久之前写的了,现在不怎么用了
wordpress修改用户ID MFC控件介绍之Static(动态文字)