vc++6.0/使用VisualC++6.0创建MFC基本对话框程序制作数字钟表教程

我们先看一下数字时钟的效果图

1.首先,我们先创建一个基本对话框程序,不会的可以点这里:使用Visual C++6.0创建MFC工程单文档、多文档、对话框界面

2.自定义一个对话框类(也可以直接使用刚才创建的基本对话框),该类是继承自我们所有对话框的基类(父类)CDialog的,不会的可以参考:如何在MFC中实现自定义对话框类

3.为2中自定义的对话框添加上相应的控件,这里以静态文本作为一个数字时钟的显示控件,设置其ID为:IDC_STATIC_Time

为我们这个弹出的对话框添加一个数字时钟的标题(DigitalClock)

4.在我们的主对话框上添加一个按钮,命名为数字时钟,记住此时的按钮的ID


5.为数字时钟按钮添加映射响应,打开类向导,为我们的数字时钟按钮添加点击响应

6.建立类向导,为我们的mydialog类,添加一个DoModal函数,该函数可以使我们点击数字时钟按钮时,弹出我们的数字时钟对话框,然后在我们添加的点击按钮的函数中添加如下代码:

mydialog dialog;//创建一个对话框对象

dialog.DoModa();//弹出我们的数字时钟对话框

然后我们发现,运行时会出现错误

这是因为我们新创建的对象,的头文件没有包含在我们这个主对话框的.cpp文件中,它不知道它是谁。于是我们可以添加

#include "mydialog.h"在,textDlg.cpp的开头,这样就可以运行了。

详细的操作过程如下:

7.为我们的静态文本控件(要使用控件的ID,ID在上面已经设置过了),绑定变量

8.在mydialog.h文件中添加对话框初始化函数,在mydialog.cpp文件中添加初始化函数的实现,并设置定时器

当然初始化函数是有返回值的

9.先添加定时器的映射,得到OnTimer函数

10.在OnTimer函数中编写我们的数字时钟的编辑部分

void mydialog::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	SYSTEMTIME st;//创建系统时间对象
	GetLocalTime(&st);//获得当前系统时间
	CString strtime;//设置一个字符变量
	strtime.Format("%2d:%2d:%2d:%2d",st.wHour,st.wMinute,st.wSecond,st.wMilliseconds/10);//将系统时间格式化为字符串
	m_Time=strtime;//将格式化为字符串的时间赋值给静态文本控件所绑定的变量
	UpdateData(FALSE);//更新对话框控件的值
	CDialog::OnTimer(nIDEvent);
}

11.最后我们要关闭定时器,先需要添加一个销毁的映射(这里我已经添加过了)

在函数中添加下面代码

void mydialog::OnDestroy() 
{
	CDialog::OnDestroy();
	m
	// TODO: Add your essage handler code here
	KillTimer(1);//关闭定时器
	
}

 最后看一下,运行的结果:

猜你喜欢

转载自blog.csdn.net/qq_25036849/article/details/108820393