求一个用VC++6.0实现的基于MFC对话框的数字时钟程序

来源:百度知道 编辑:UC知道 时间:2024/05/09 16:16:34
编译环境为VC++6.0,实现一个基于MFC对话框的最简单的数字时钟程序,不需要调用绘制函数,基本按照以下步骤:
(1)建立一个基于对话框的MFC程序,Clock.sln
(2)使用资源管理器建立三个静态文本,其ID分别为IDC_HOUR,IDC_MINUTE,IDC_SECOND
(3)使用MFC为三个ID添加变量,变量类型为CString m_hour,m_minute,m_second
(4)使用映射消息WM_TIMER生成OnTimer()函数
(5)为Dlg类添加一个私有函数CurrentTime()
(6)在OninitDialog()中添加代码,进行定时器安装
代码:
void CClockDlg::CurrentTime()
{
CWnd *wnd
time_t tCurrentTime;
//声明
char szBuffer[256];
//获取系统时间
tCurrentTime=time((time_t*)NULL);
////
strftime(szBuffer,sizeof(szBuffer),"%H",localtime(&tCurrentTime));
m_hour=szBuffer;
strftime(szBuffer,sizeof(szBuffer),"%M",localtime(&tCurrentTime));
m_minute=szBuffer;
strftime(szBuffer,sizeof(szBuffer),"%S",localtime(&tCurrentTime));
m_second=szBuffer;

//将各变量赋值给对话框中相应的项
wnd=GetDlgitem(IDC_HOUR)
wnd->SetWindowText(m_hour+" 时");
wnd=GetDlgitem(ID

错误已经找出,并且纠正,得到正确结果。
错误之处在于你好多语句后面没有英文分号(有的没有,有的是中文分号)。

CurrentTime函数修正如下:

void CClockDlg::CurrentTime()
{
time_t tCurrentTime;
//声明
char szBuffer[256];
//获取系统时间
tCurrentTime=time((time_t*)NULL);
////
strftime(szBuffer,sizeof(szBuffer),"%H",localtime(&tCurrentTime));
m_hour=szBuffer;
strftime(szBuffer,sizeof(szBuffer),"%M",localtime(&tCurrentTime));
m_minute=szBuffer;
strftime(szBuffer,sizeof(szBuffer),"%S",localtime(&tCurrentTime));
m_second=szBuffer;

//将各变量赋值给对话框中相应的项
GetDlgItem(IDC_HOUR)->SetWindowText(m_hour+" 时");
GetDlgItem(IDC_MINUTE)->SetWindowText(m_minute+" 分");
GetDlgItem(IDC_SECOND)->SetWindowText(m_second+" 秒");
}

整个程序也有,要的话发给你(要先采纳的)。

这样看好像没什么问题,能说下编译时提示出错在什么地方吗?