WEB开发网
开发学院软件开发VC 非窗口类中使用定时器的方法及相关知识的介绍 阅读

非窗口类中使用定时器的方法及相关知识的介绍

 2006-07-20 11:38:11 来源:WEB开发网   
核心提示: VOID CALLBACK TimerProc(HWND hwnd, // handle of window for timer messagesUINT uMsg, // WM_TIMER messageUINT idEvent,// timer identifierDWORD dwTi

VOID CALLBACK TimerProc(
  HWND hwnd,   // handle of window for timer messages
  UINT uMsg,   // WM_TIMER message
  UINT idEvent, // timer identifier
  DWORD dwTime  // current system time
);

其中的参数意义如下:

hwnd: 与定时器相关联的窗口的句柄。

uMsg: WM_TIMER消息。

idEvent: 定时器标志值。

deTime: 系统启动后所以经过的时间,单位毫秒。

最后设定定时器的代码为:

m_nTimerID = SetTimer(NULL,NULL,nElapse,MyTimerProc);

先通过Class Wizard创建一个非窗口类,选择Generic Class类类型,类名称为CMyTimer,该类的作用是每隔一段时间提醒我们做某件事情,然后用这个类创建三个实例,每个实例以不同的时间间隔提醒我们做不同的事情。

MyTimer.h

#include <afxtempl.h>
class CMyTimer;
//用模板类中的映射表类定义一种数据类型
typedef CMap<UINT,UINT,CMyTimer*,CMyTimer*> CTimerMap;
class CMyTimer 
{
public:
  //设置定时器,nElapse表示时间间隔,sz表示要提示的内容
  void SetMyTimer(UINT nElapse,CString sz);
  //销毁该实例的定时器
  void KillMyTimer();
  //保存该实例的定时器标志值
  UINT m_nTimerID;
  //静态数据成员要提示的内容
  CString szContent;
  //声明静态数据成员,映射表类,用于保存所有的定时器信息
  static CTimerMap m_sTimeMap;
  //静态成员函数,用于处理定时器的消息
  static void CALLBACK MyTimerProc(HWND hwnd,UINT uMsg,UINT idEvent,DWORD dwTime);
  CMyTimer();
  virtual ~CMyTimer();
};

MyTimer.cpp

上一页  4 5 6 7 8 9 10  下一页

Tags:窗口 使用 定时器

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接