MFC通过button控制编辑框是否显示系统时间(动态显示)
2017-08-05 18:49 tlnshuju 阅读(412) 评论(0) 编辑 收藏 举报1.在dlg.h中public
bool flag;
static UINT time(void *param);
2.在构造函数中
flag=false;
3.在button的生成函数中
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;
}