求一个用VC++6.0实现的基于MFC对话框的数字时钟程序
编译环境为VC++6.0,实现一个基于MFC对话框的最简单的数字时钟程序,不需要调用绘制函数,基本按照以下步骤:(1)建立一个基于对话框的MFC程序,Clock.sln(...
编译环境为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(IDC_MINUTE)
wnd->SetWindowText(m_minute+" 分");
wnd=GetDlgitem(IDC_SECOND)
wnd->SetWindowText(m_second+" 秒");
}
void CClockDlg::OnTimer(UNIT nIDEvent)
{
//TODO:Add your message handler code here and/or call default
CurrentTime();
CDialog::OnTimer(nIDEvent);
}
我在编译时总出错误,实在不知道问题在哪,请大侠指教(有编译好的程序最好了,邮箱:tianshixin5237@163.com)~~贴切的话给补加分~~谢谢了 展开
(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(IDC_MINUTE)
wnd->SetWindowText(m_minute+" 分");
wnd=GetDlgitem(IDC_SECOND)
wnd->SetWindowText(m_second+" 秒");
}
void CClockDlg::OnTimer(UNIT nIDEvent)
{
//TODO:Add your message handler code here and/or call default
CurrentTime();
CDialog::OnTimer(nIDEvent);
}
我在编译时总出错误,实在不知道问题在哪,请大侠指教(有编译好的程序最好了,邮箱:tianshixin5237@163.com)~~贴切的话给补加分~~谢谢了 展开
2个回答
展开全部
错误已经找出,并且纠正,得到正确结果。
错误之处在于你好多语句后面没有英文分号(有的没有,有的是中文分号)。
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+" 秒");
}
整个程序也有,要的话发给你(要先采纳的)。
错误之处在于你好多语句后面没有英文分号(有的没有,有的是中文分号)。
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+" 秒");
}
整个程序也有,要的话发给你(要先采纳的)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询