想实现的目的: 
在对话框上添加一静态文本控件,在程序运行后,文本控件上显示从59-0的数字,时间间隔为1秒,如何实现?

解决方案 »

  1.   

    定义一个成员变量,初始为59
    给静态文本控件绑定一个字符串变量
    对话框初始化时,SetTimer(1,1000,NULL);
    响应对话框的OnTimer,把成员变量转成字符串赋值给字符串变量。UpdateData(FALSE);再把成员变量减去1
      

  2.   


    BOOL CMy11Dlg::OnInitDialog()
    {
    CDialog::OnInitDialog(); number = 59;                  //定义一个变量
    SetTimer(1,1000,0); return TRUE;  // return TRUE  unless you set the focus to a control
    }void CMy11Dlg::OnTimer(UINT nIDEvent) 
    {
    // TODO: Add your message handler code here and/or call default

    CString str;
    str.Format("%d",number);
    GetDlgItem(IDC_STATIC_1)->SetWindowText(str);
    number--;
    CDialog::OnTimer(nIDEvent);
    }
      

  3.   

    如果循环的话在楼上代码的定时器消息响应函数最后加上判断:
    if(number == 0)
    {
        number = 59;
    }
    else
    {
        number--;
    }