资源描述:
《计时器、鼠标、键盘资源.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、可以通过呼叫SetTimer函数为您的Windows程序分配一个定时器。SetTimer有一个时间间隔范围为1毫秒到4,294,967,295毫秒(将近50天)的整数型态参数,这个值指示Windows每隔多久时间给您的程序发送WM_TIMER消息。例如,如果间隔为1000毫秒,那么Windows将每秒给程序发送一个WM_TIMER消息。当您的程序用完定时器时,它呼叫KillTimer函数来停止定时器消息。在处理WM_TIMER消息时,您可以通过呼叫KillTimer函数来编写一个「限用一次」的定时器。KillTim
2、er呼叫清除消息队列中尚未被处理的WM_TIMER消息,从而使程序在呼叫KillTimer之后就不会再接收到WM_TIMER消息。Windows把WM_TIMER消息发送到应用程序的正常窗口消息处理程序中,SetTimer呼叫如下所示:SetTimer(hwnd,1,uiMsecInterval,NULL);第一个参数是其窗口消息处理程序将接收WM_TIMER消息的窗口句柄。第二个参数是定时器ID,它是一个非0数值,在整个例子中假定为1。第三个参数是一个32位无正负号整数,以毫秒为单位指定一个时间间隔,一个60,0
3、00的值将使Windows每分钟发送一次WM_TIMER消息。可以通过呼叫KillTimer(hwnd,1);在任何时刻停止WM_TIMER消息(即使正在处理WM_TIMER消息)。此函数的第二个参数是SetTimer呼叫中所用的同一个定时器ID。在终止程序之前,您应该响应WM_DESTROY消息停止任何活动的定时器。画刷(Brush)——用于图案的填充;矩形填充函数——FillRectHDChdc;RECTrc;GetClientRect(hwnd,&rc);FillRect(hdc,&rc,hBrush);HB
4、RUSHhBrush;hBrush=CreateSolidBrush(RGB(255,0,0));SelectObject可以调用该函数把诸如像颜色、笔、画刷等GDI对象选进“设备环境”。在调用SelectObject函数后一切的绘制函数都是针对该“设备环境”的。hBrush=CreateSolidBrush(RGB(255,100,20));SelectObject(hdc,hBrush);Rectangle(intx1,inty1,intx2,inty2);//矩形左上角坐标,和矩形右下角坐标RoundRec
5、t(intx1,inty1,intx2,inty2,intx3,inty3);//画一个圆角矩形,比矩形多了个X3,Y3,代表圆角的高和宽度Ellipse(intx1,inty1,intx2,inty2);//再以左上角为X1,Y1,右下角为X2,Y2的矩形中画以个椭圆IDC_ARROWIDC_IBEAM IDC_WAIT IDC_CROSS IDC_UPARROW IDC_SIZEIDC_SIZEALLIDC_ICON
6、 IDC_SIZENWSEIDC_SIZENESWIDC_SIZEWE IDC_SIZENS IDC_SIZEALLIDC_NOIDC_HAND IDC_APPSTARTINGIDC_HELP在定义窗口类别结构时指定特定窗口的内定光标,例如:wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);鼠标样式对三键鼠标来说,三个键分别称为左键、中键、右键。在Windows表头文件中定义的与鼠标有关的标识符使用
7、缩写LBUTTON、MBUTTON和RBUTTON。双键鼠标只有左键与右键,单键鼠标只有一个左键。只要鼠标跨越窗口或者在某窗口中按下鼠标按键,那么窗口消息处理程序就会收到鼠标消息,Windows为鼠标定义了21种消息。当鼠标移过窗口的显示区域时,窗口消息处理程序收到WM_MOUSEMOVE消息。当在窗口的显示区域中按下或者释放一个鼠标按键时,窗口消息处理程序会接收到下面这些消息:键按下释放按下(双键)左WM_LBUTTONDOWNWM_LBUTTONUPWM_LBUTTONDBLCLK中WM_MBUTTONDOWN
8、WM_MBUTTONUPWM_MBUTTONDBLCLK右WM_RBUTTONDOWNWM_RBUTTONUPWM_RBUTTONDBLCLK只有对三键鼠标,窗口消息处理程序才会收到MBUTTON消息;只有对双键或者三键鼠标,才会接收到RBUTTON消息。只有当定义的窗口类别能接收DBLCLK(双击)消息,窗口消息处理程序才能接收到这些消息对于所有这些消息来