我是靠谱客的博主 敏感白猫,最近开发中收集的这篇文章主要介绍MFC显示系统时间,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

准备工作:

1、在视图中右击->类向导->消息->找到消息WM_TIMER,同事右侧会出现消息的响应函数OnTimer,双击OnTimer

一、标题栏显示系统时间

1、在BOOL XXXDlg::OnInitDialog()函数中添加定时器SetTimer(1,1000,NULL);//第一个参数是定时器ID,你随意定,但是如果不能喝其他定时器的ID重复,第二个参数是时间(ms)就是每隔多长时间执行一次,第三个参数一般为NULL,为NULL是表示使用OnTimer为响应函数,当然你也可以自己定义一个响应函数

2、在OnTimer中添加代码,获取系统时间。(例子在下面)

CTime cTime = CTime::GetCurrentTime();
CString strTime; //字符串格式化时间
strTime = cTime.Format("现在是%Y年%m月%d日 %X");
SetWindowText(strTime);

二、在Edit编辑框中显示系统时间

1、从工具箱中拖拽一个Edit控件放在视图上

2、右击Edit控件选择添加变量(我的是m_strTimeTest),然后确定即可

三、一和二的示例如下:

 1 BOOL CMFCTestDlg::OnInitDialog()
 2 {
 3 
CDialogEx::OnInitDialog();
 4
 5
SetTimer(0,1000,NULL);//设置定时器显示时间显示到标题栏
 6
SetTimer(1,1000,NULL);//显示在EDIT编辑框中
 7
// 将“关于...”菜单项添加到系统菜单中。
 8
 9
// IDM_ABOUTBOX 必须在系统命令范围内。
10
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
11
ASSERT(IDM_ABOUTBOX < 0xF000);
12
13
CMenu* pSysMenu = GetSystemMenu(FALSE);
14
if (pSysMenu != NULL)
15 
{
16 
BOOL bNameValid;
17 
CString strAboutMenu;
18
bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
19 
ASSERT(bNameValid);
20
if (!strAboutMenu.IsEmpty())
21 
{
22
pSysMenu->AppendMenu(MF_SEPARATOR);
23
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
24 
}
25 
}
26
27
// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
28
//
执行此操作
29
SetIcon(m_hIcon, TRUE);
// 设置大图标
30
SetIcon(m_hIcon, FALSE);
// 设置小图标
31
32
// TODO: 在此添加额外的初始化代码
33
34
35
return TRUE;
// 除非将焦点设置到控件,否则返回 TRUE,不过这个一般都不会更改
36 }

时间响应函数

 1 void CMFCTestDlg::OnTimer(UINT_PTR nIDEvent)
 2 {
 3
// TODO: 在此添加消息处理程序代码和/或调用默认值
 4
 5
switch (nIDEvent)
 6 
{
 7
case 0:
 8 
{
 9
//标题栏显示系统时间
10
CTime cTime = CTime::GetCurrentTime();
11
CString strTime;
//字符串格式化时间

12
strTime = cTime.Format("现在是%Y年%m月%d日 %X");
13 
SetWindowText(strTime);
14 
}
15
break;
16
case 1:
17 
{
18
//对话框显示系统时间
19
CTime cTime = CTime::GetCurrentTime();
20
CString strTime;
//字符串格式化时间

21
strTime = cTime.Format("%Y-%m-%d
%X");
22 
m_strTimeTest.SetWindowTextW(strTime);
23 
}
24
break ;
25
default:
26
break;
27 
}
28 
CDialogEx::OnTimer(nIDEvent);
29 }

 

转载于:https://www.cnblogs.com/LYF-LIUDAO/p/7591884.html

最后

以上就是敏感白猫为你收集整理的MFC显示系统时间的全部内容,希望文章能够帮你解决MFC显示系统时间所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部