zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    JDBC 复习4 批量执行SQL
    JDBC 复习3 存取Oracle大数据 clob blob
    Oracle复习
    Linux命令(1)grep
    JDBC 复习2 存取mysql 大数据
    JDBC 复习1 DBUtil
    php 环境搭建问题
    Windows 批处理 bat 开启 WiFi 菜单选项 设置ID PWD
    Bat 批处理启动和停止Oracle 服务
    docker 学习1 WSL docker ,Windows docker
  • 原文地址:https://www.cnblogs.com/LYF-LIUDAO/p/7591884.html
Copyright © 2011-2022 走看看