定时器的代码

做定时器前,要添加WM_TIMER消息的响应函数

void Ctest04Dlg::OnTimer(UINT nIDEvent)
{
        //判断定时器是不是我们的定时器
        if (nIDEvent == 0) {
                //静态变量 n 初始值为 5 表示 5 秒
                static int n = 5;
                //每次调用 n 的值就减 1
                n--;

                //根据描述设置按钮的文本已知道还有几秒
                CString Text;
                Text.Format("确定(%d)", n);                
                GetDlgItem(IDOK)->SetWindowText(Text);

                //如果时间到了
                if (n == 0) {
                        //激活按钮
                        GetDlgItem(IDOK)->EnableWindow(TRUE);
                        //销毁定时器,这个函数的参数就是定时器编号
                        KillTimer(0);
                        //设置按钮的标题
                        Text.Format("确定", n);
                        GetDlgItem(IDOK)->SetWindowText(Text);
                }
        }

        CDialog::OnTimer(nIDEvent);
}

 

 

下面是一个实例

void CSimpleClockDlg::OnTimer(UINT nIDEvent)
{
        // TODO: Add your message handler code here and/or call default
        if(nIDEvent==0)
        {
                static Second=0;
                static Minute=0;
                Second++;
                if(Second==60)
                {
                        Second=0;

                    Minute++;
                }
                CString Text;
                Text.Format("%d:%d",Minute,Second);
                GetDlgItem(IDOK)->SetWindowText(Text);
        }
        CDialog::OnTimer(nIDEvent);
}

void CSimpleClockDlg::OnButtonPause()
{
        // TODO: Add your control notification handler code here
        KillTimer(0);
}

void CSimpleClockDlg::OnButtonStart()
{
        // TODO: Add your control notification handler code here
        SetTimer(0,1000,NULL);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值