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;
}