一个定时器的简单应用,高手看看出了什么问题 - C++ Builder / Windows SDK/API
我企图用一个定时器,每秒使一个矩形向下移动一定距离,但是没有效果。
........
case WM_PAINT :
{
HDC hdc=BeginPaint(hwnd,&ps);
RECT *p=ZJ(1);//ZJ()返回一个RECT结构体数组的指针,这个结构体数组有四个矩形
for(int i=0;i<4;i++)
{
OffsetRect(p+i,yd,Z);
FillRect(hdc,p+i,*(hbrush+i));
}
SetTimer(hwnd,0,1000,Timer);//设定一个定时器
EndPaint(hwnd,&ps);
}
return 0 ;
...........
VOID CALLBACK Timer(HWND hwnd,UINT message,UINT TimerID,DWORD DW)
{
Z=Z+5;//Z是全局静态变量
InvalidateRgn(hwnd,NULL,TRUE);//使窗口刷新,也就是产生WM_PAINT消息。
}
[解决办法]
恭喜楼主