1.在dlg.h中public
bool flag;
static UINT time(void *param);
2.在构造函数中
flag=false;
3.在按钮的生成函数中
if(flag)
{
flag=false;
//GetDlgItem(IDC_ShowTime)->SetWindowTextW(_T(" "));
/*m_showtime.SetWindowText(_T(""));
m_showtime.SetFocus();*/
//UpdateData(true);
CEdit* pedt = (CEdit*)GetDlgItem(IDC_ShowTime);
pedt->SetWindowText(_T(""));////////////此处有问题,不能清空编辑框,或者说清空之后又恢复了。
//不知道怎么回事,如果有人知道,请告诉我。
}
else
{
AfxBeginThread(time,this);//,THREAD_PRIORITY_IDLE);
flag=true;
}
4.
UINT CmyDlg::time(void *param)
{
CmyDlg *dlg = (CmyDlg*)param;
CEdit *SysTimeBox = (CEdit*)dlg->GetDlgItem(IDC_ShowTime);//IDC_ShowTime为编辑框ID
CString str;
while (dlg->flag)
{
Sleep(1000);
CTime time = CTime::GetCurrentTime();
str = time.Format(_T("%Y-%m-%d %H:%M:%S %A"));
SysTimeBox->SetWindowTextW(str);
}
return 0;
}
原文地址:http://blog.csdn.net/hanshuning/article/details/40831371