MFC中实时显示系统时间

MFC中实时显示系统时间

ID:40569903

大小:15.06 KB

页数:3页

时间:2019-08-04

MFC中实时显示系统时间_第1页
MFC中实时显示系统时间_第2页
MFC中实时显示系统时间_第3页
资源描述:

《MFC中实时显示系统时间》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、下面给出在基于对话框的MFC应用程序的Edit控件中实时显示系统时间的方法:首先来了解一下几个主要的与定时器有关的函数。    SetTimer()函数表示定义一个定时器。根据定义指定的窗口,在指定的窗口(CWnd)中实现OnTimer事件,这样,就可以响应事件了。SetTimer有两个函数。一个是全局的函数::SetTimer()     UINTSetTimer(HWNDhWnd,  //handleofwindowfortimermessages                              UINTnIDEvent,//timeridentif

2、ier                            UINTuElapse, //time-outvalue                            TIMERPROClpTimerFunc//addressoftimerprocedure                           );     其中hWnd是指向CWnd的指针,即处理Timer事件的窗口类。说道窗口类(CWnd),我们有必要来看一下CWnd的继承情况:CWnd有以下子类:CFrameWnd,CDialog,CView,CControlBar等类。这也意味这些类中

3、都可以定义SetTimer事件。    SetTimer()的另外一种定义为:    UINTSetTimer(UINTnIDEvent,UINTnElapse,void(CALLBACKEXPORT*lpfnTimer)(HWND,UINT,UINT,DWORD));    nIDEvent:是指设置这个定时器的iD,即身份标志,这样在OnTimer()事件中,才能根据不同的定时器,来做不同的事件响应。这个ID是一个无符号的整型。    nElapse:是指时间延迟。单位是毫秒。这意味着,每隔nElapse毫秒系统调用一次Ontimer()。    void(C

4、ALLBACKEXPORT*lpfnTimer)(HWND,UINT,UINT,DWORD):Specifiestheaddressoftheapplication-suppliedTimerProccallbackfunctionthatprocessestheWM_TIMERmessages.IfthisparameterisNULL,theWM_TIMERmessagesareplacedintheapplication’smessagequeueandhandledbytheCWndobject。意思指:指定应用程序提供的TimerProc回调函数的地址,

5、来处里这个WM_TIMER事件。如果是NULL,则由定义这个Timer事件的CWnd对象来处理该Timer事件。它将WM_TIMER消息传递给这个对象,通过实现这个对象的OnTimer()事件来处理这个Timer事件。所以,一般情况下,我们将这个值设为NULL,由设置该定时器的对象中的OnTimer()函数来处理这个事件。对于SetTimer()可以在初始化当中添加!OnTimer()函数是响应用SetTimer()函数设定的时钟发送的时钟消息的,你没设定时钟,就不会有时钟消息,OnTimer()里的语句当然也不会被调用。为类添加WM_TIMER消息响应,会看到类

6、中出现OnTimer(UINTnIDEvent)函数。    KillTimer()同SetTimer()一样,它也有两个,一个是全局的::KillTimer(),另一个是CWnd的一个函数。声明如下:    //全局函数    BOOLKillTimer(HWNDhWnd,//handleofwindowthatinstalledtimer                            UINTuIDEvent//timeridentifier                           );    //CWnd函数    BOOLKillTim

7、er(intnIDEvent);    这两个函数表示的意思是将ID为nIDEVENT的定时器移走,使其不再作用。其用法如同SetTimer()一样。一般将KillTimer()语句放在需要移去定时器的地方或程序退出是的窗口销毁过程中。    在基于对话框的MFC应用程序中,添加一个Edit控件,ID标号为IDC_EDIT_TIME。    在OnInitDialog()函数中添加下面语句:    SetTimer(1,1000,NULL);//1000毫秒发生一次定时器事件    为类添加WM_TIMER消息响应函数OnTimer(UINT_PTRnIDEven

8、t):  

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。