SetTimer()调用位置

云霞 发布于 2011/09/06 16:12
阅读 356
收藏 0

大家好!

SetTimer()能在MainFrm.cpp以外的文件调用吗?如果可以,设置的定时到来时,还是在OnTimer()中处理吧?

加载中
0
TrulyBelieve
TrulyBelieve

使用SetTimer的一个不方便处就是需要一个窗口句柄hWnd,所以一般在窗口类里用SetTimer。

但也有变通的方法在其他类里用,如Document类、自己的类,在这些类里用CreateWindow创建一个隐藏的窗口,设好回调函数就行了。

设置了TIMERPROC lpTimerFunc,会调lpTimerFunc,没设会有WM_TIMER事件

0
IBMdW
IBMdW

需要在指定的窗口(CWnd 的子类)中实现OnTimer事件

UINT SetTimer(
HWND hWnd, // handle of window for timer messages
UINT nIDEvent, // timer identifier
UINT uElapse, // time-out value
TIMERPROC lpTimerFunc // address of timer procedure
);
其中hWnd 是指向CWnd的指针,即处理Timer事件的窗口类。因此继承CWnd的子类均可以定义SetTimer事件。

云霞
如果是子类的子类的子类呢?
云霞
多谢!
返回顶部
顶部