Example: Creating a Timer
The following example uses the
SetTimer function to create two timers. The first timer is set for every 10 seconds,
the second for every 5 minutes.
// Set two timers.
SetTimer(hwnd, // handle of main window
IDT_TIMER1, // timer identifier
10000, // 10-second interval
(TIMERPROC) NULL); // no timer callback
SetTimer(hwnd, // handle of main window
IDT_TIMER2, // timer identifier
300000, // 5-minute interval
(TIMERPROC) NULL); // no timer callback
To process the
WM_TIMER messages generated by these timers, add a WM_TIMER case statement to the
window procedure for the
hwnd parameter.
case WM_TIMER:
switch (wParam)
{
case IDT_TIMER1:
.
. // Process the 10-second timer.
.
return 0;
case IDT_TIMER2:
.
. // Process the 5-minute timer.
.
return 0;
}
An application can also create a timer whose
WM_TIMER messages are processed not by the main window procedure but by an
application-defined callback function, as in the following code sample, which creates a
timer and uses the callback function MyTimerProc to process the timer's WM_TIMER
messages.
// Set the timer.
SetTimer(hwnd, // handle of main window
IDT_TIMER3, // timer identifier
5000, // 5-second interval
(TIMERPROC) MyTimerProc); // timer callback
The calling convention for MyTimerProc must be based on the Microsoft® Win32® callback function,
TimerProc.
If your application creates a timer without specifying a window handle, your
application must monitor the message queue for
WM_TIMER messages and dispatch them to the appropriate window.
HWND hwndTimer; // handle of window for timer messages
MSG msg; // message structure
while (GetMessage(&msg, // message structure
NULL, // handle of window to receive the message
NULL, // lowest message to examine
NULL)) // highest message to examine
{
// Post WM_TIMER messages to the hwndTimer procedure.
if (msg.message == WM_TIMER)
{
msg.hwnd = hwndTimer;
}
TranslateMessage(&msg); // translates virtual-key codes
DispatchMessage(&msg); // dispatches message to window
}
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database