WM_TIMER--SetTimer的函数
2010-05-20 10:17
211 查看
SetTimer的函数原型为:
UINT_PTR SetTimer( HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc);
其中hWnd是和timer关联的窗口句柄,此窗口必须为调用SetTimer的线程所有;如果hWnd为NULL,没有窗口和timer相关联,并且nIDEvent参数被忽略。
nIDEvent是timer的标志,非零值;如果hWnd非NULL而且与timer相关联的窗口已经存在一个为此标志的timer,则此次SetTimet调用将用新的timer代替原来的timer。timer标志和窗口相关,两个不同的窗口可以拥有nIDEvent相同的timer。
uElapse是以毫秒为单位的时间数,范围为1ms到4,294,967,295ms,这个值只是windows每隔多久时间给程序发送WM_TIMER消息。
lpTimerFunc是一个回调函数的指针,如果lpTimerFunc为NULL,系统将向应用程序队列发送WM_TIMER消息;如果lpTimerFunc指定了一个值,DefWindowProc将处理WM_TIMER消息时调用这个lpTimerFunc所指向的回调函数, 所以即使使用TimerProc代替WM_TIMER也需要向窗口分发消息。
SetTimer的返回值:如果hWnd为NULL,返回值为新建立的timer的ID,如果hWnd非NULL,返回一个非0整数,如果SetTimer调用失败则返回0。
KillTimer的函数原型为:BOOL KillTimer ( HWND hWnd , UINT_PTR uIDEvent ) ;
WM_TIMER消息:
消息参数:wParam和lParam
wParam为计时器ID,wParam的值将随传递到窗口过程中的WM_TIMER消息的不同而不同。
lParam为指向TimerProc的指针,如果调用SetTimer时没有指定TimerProc,则lParam为NULL。
三种使用计时器的方法:
I.将第四个参数lpTimerFunc置为NULL而不使用TimerProc;在窗口过程中处理WM_TIMER消息。
II. 将第四个参数lpTimerFunc指向TimerProc函数。使用TimerProc函数处理WM_TIMER消息;
III.第一个参数hWnd设为NULL,第四个参数设为TimerProc函数指针。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mallocguy/archive/2009/01/03/3691272.aspx
UINT_PTR SetTimer( HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc);
其中hWnd是和timer关联的窗口句柄,此窗口必须为调用SetTimer的线程所有;如果hWnd为NULL,没有窗口和timer相关联,并且nIDEvent参数被忽略。
nIDEvent是timer的标志,非零值;如果hWnd非NULL而且与timer相关联的窗口已经存在一个为此标志的timer,则此次SetTimet调用将用新的timer代替原来的timer。timer标志和窗口相关,两个不同的窗口可以拥有nIDEvent相同的timer。
uElapse是以毫秒为单位的时间数,范围为1ms到4,294,967,295ms,这个值只是windows每隔多久时间给程序发送WM_TIMER消息。
lpTimerFunc是一个回调函数的指针,如果lpTimerFunc为NULL,系统将向应用程序队列发送WM_TIMER消息;如果lpTimerFunc指定了一个值,DefWindowProc将处理WM_TIMER消息时调用这个lpTimerFunc所指向的回调函数, 所以即使使用TimerProc代替WM_TIMER也需要向窗口分发消息。
SetTimer的返回值:如果hWnd为NULL,返回值为新建立的timer的ID,如果hWnd非NULL,返回一个非0整数,如果SetTimer调用失败则返回0。
KillTimer的函数原型为:BOOL KillTimer ( HWND hWnd , UINT_PTR uIDEvent ) ;
WM_TIMER消息:
消息参数:wParam和lParam
wParam为计时器ID,wParam的值将随传递到窗口过程中的WM_TIMER消息的不同而不同。
lParam为指向TimerProc的指针,如果调用SetTimer时没有指定TimerProc,则lParam为NULL。
三种使用计时器的方法:
I.将第四个参数lpTimerFunc置为NULL而不使用TimerProc;在窗口过程中处理WM_TIMER消息。
II. 将第四个参数lpTimerFunc指向TimerProc函数。使用TimerProc函数处理WM_TIMER消息;
III.第一个参数hWnd设为NULL,第四个参数设为TimerProc函数指针。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mallocguy/archive/2009/01/03/3691272.aspx
相关文章推荐
- WM_TIMER--SetTimer的函数
- VC中定时器的使用(SETTIMER,KILLTIMER,WM_TIMER消息)
- MFC中的SetTimer、ON_WM_TIMER 和OnTimer的关系和使用
- 消息循环中的TranslateMessage函数和DispatchMessage函数,特别注意WM_TIMER消息
- MFC中的SetTimer、ON_WM_TIMER 和OnTimer的关系和使用
- 孙鑫VC++深入详解:Lesson5 Part4 屏幕字符串滚动输出,DrawText,SetTimer,WM_Timer消息
- Win32 计时器消息 - WM_TIMER,SetTimer
- MFC中setimer和ontimer定时器函数到时间不能触发执行是因为WM_TIMER消息的优先级低
- MFC中的SetTimer、ON_WM_TIMER 和OnTimer的关系和使用
- 【VS2010学习笔记】【函数学习】一(MFC+OpenCV2.4.7读取摄像头之WM_TIMER消息处理函数的添加问题)
- 消息循环中的TranslateMessage函数和DispatchMessage函数,特别注意WM_TIMER消息
- Win32 计时器消息 - WM_TIMER,SetTimer
- MFC中的setTimer和WM_TIMER实现
- MFC中SetTimer,ON_WM_TIMER和OnTimer的关系和使用
- delphi实现延时的方法,很多人首先就想到用timer控件,这里我们不用timer控delphi直接用settimer函数实现延时的方法
- 消息循环中的TranslateMessage函数和DispatchMessage函数,特别注意WM_TIMER消息
- oracle 合并列的函数wm_concat
- oracle中的wm_concat(column)函数使用(字段合并)
- oracle 函数 WMSYS.WM_CONCAT 的用法 与 mysql 函数GROUP_CONCAT的用法
- WM_TIMER消息的使用方法