该程序主要思路 通过创建一个定时器,每隔指定时间产生一个WM_TIMER消息。然后
在WM_TIMER消息处理语句中使用InvalidateRect产生一个WM_PAINT消息,在WM_PAINT
消息处理语句下可以执行相关绘制操作 这里演示的是更改窗口背景颜色,所以,如果你处理的不是绘制方面的事情 可以直接在WM_TIMER消息处理语句下编写你要处理的事务语句,这里只是展示通过一个消息产生另外一个消息的技术 Windows经常使用此技术来保证多种不同的输入,产生同样的的输出。比如为滚动条添加键盘接口,通常采用键盘信息产生滚动条消息,然后由滚动条消息处理自己的事务,减少按键消息语句的编写,却实现键盘,鼠标具有相同的滚动条事务处理。
//第一步 引入必要的头文件
#include <windows.h>
//定义计时器ID 尽量不要使用数字 这样可以增加程序可读性
#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 ("myClassName") ;
HWND hwnd ;
MSG msg ;
WNDCLASS wndclass ;
wndclass.style