无符号整形 发表于 2016-11-23 18:50:24

【MFC入门文字教程】18-简单的时钟程序(0)!【实战】

今天,我将带领大家创造一个计时器~{:10_254:} 很激动吧
因为我们还没学到创创建其他MFC子窗口,所以实现实时显示时间就可以了~
什么!?别急,慢慢来嘛,以后我们会改进的~

废话不多说了,上代码,最好的办法就是直接钻进代码里~
(PS:这可要考你的SDK功底了!不要问我GetLocalTime是什么……)


详解
第一部分:定时器:
在OnInitDialog中,你可以看到以下内容:
SetTimer(1, 100, NULL);
这就是设置定时器,每隔100毫秒就会发一个WM_TIMER消息。
所以要添加WM_TIMER的事件处理程序——OnTimer
然后……OnTimer里面的代码应该不难了吧?
        SYSTEMTIME SystemTime;
        WCHAR wszBuffer;

        GetLocalTime(&SystemTime);
        wsprintf(wszBuffer, L"%d-%d-%d %d:%d:%d", SystemTime.wYear, SystemTime.wMonth, SystemTime.wDay, SystemTime.wHour, SystemTime.wMinute, SystemTime.wSecond);
        m_edit.SetWindowText(wszBuffer);

什么?太简单了?别急,以后还会继续改进呢~

下节预告:
热键控件(CHotKeyCtrl)

杨SHUN 发表于 2016-11-23 21:58:15

LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);//转换指针的函数能这么理解吗?

一笑见苍穹 发表于 2019-2-7 14:33:42

        或者:CTime time = CTime::GetCurrentTime();
             CString str;
          str.Format(L"%04d/%02d/%02d%02d:%02d:%02d", time.GetYear(), time.GetMonth(),
                time.GetDay(), time.GetHour(), time.GetMinute(), time.GetSecond());
          m_editThree.SetWindowText(str);
页: [1]
查看完整版本: 【MFC入门文字教程】18-简单的时钟程序(0)!【实战】