如果程序在整个运行过程中需要一个计时器,在WinMain函数中或窗口过程处理WM_CREATE 消息时,调用SetTimer函数创建一个计时器。在离开WinMain函数时或是处理WM_DESTROY消息时,调用KillTimer函数销毁计时器。基于调用SetTimer参数的不同,可采取三种不同的方法使用计时器。
本节必须掌握的知识点:
第43练:使用计时器方法一
第44练:使用计时器方法二
使用计时器方法三
7.2.1 第43练:使用计时器方法一
/*------------------------------------------------------------------
043 WIN32 API 每日一练
第43个例子BEEPER1.C:使用计时器方法一
WM_TIMER消息
SetTimer函数:WM_CREATE时创建计时器
KillTimer函数:WM_DESTORY时销毁
(c) www.bcdaren.com, 2020
----------------------------------------------------------------*/
#include <windows.h>
#define ID_TIMER 1
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[] = TEXT("Beeper1");
…(略)
return msg.wParam;
}
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam,LPARAM lParam)
{
static BOOL fFlipFlop = FALSE;//标记值
HBRUSH hBrush;
PAINTSTRUCT ps;
RECT rect;
HDC hdc;
switch (message)
{
case WM_CREATE:
<