怎样在自己的类中使用SetTimer()函数
我用MFC向导创建了一个文档/视图程序。现在想在自己的类中使用SetTimer()函数。使得视图类能够在“WM_TIME”中捕获SetTimer设置的事件。例如:
class myC
{
public:
void doSomething() ;
} ;
void myc::doSomething
{
SetTimer(...) ;
}
请问该怎么做?谢谢!
问题点数:100、回复次数:7Top
1 楼xing_xing_xing(哈哈)回复于 2005-06-18 19:05:31 得分 30
::SetTimer(hWnd,1,500,NULL); //hWnd是视图类的窗口句柄
myC需要一个设置视图窗口句柄的函数
Top
2 楼wangjinhui(wangjinhui)回复于 2005-06-18 19:07:45 得分 0
[myC需要一个设置视图窗口句柄的函数]
具体怎么做?能给出代码吗?Top
3 楼dzqsuper(数风流人物-还看打倒日本猪的人(抵制日货))回复于 2005-06-18 19:28:21 得分 0
得到那个句柄不就完了吗
是吧Top
4 楼yetze(滚石)回复于 2005-06-18 19:29:34 得分 50
#include "MainFrm.h"
void CMyClass::DoSomething()
{
CMainFrame* pFrame=(CMainFrame*)AfxGetApp()->m_pMainWnd;
pFrame->SetTimer(1,1000,NULL);
}
Top
5 楼BigFanOfCpp(((Bytes)+_ALGIN-1) & ~(_ALGIN-1))回复于 2005-06-18 19:30:16 得分 0
去看我的Blog,其中的动态对话框文章就使用了SetTimer,KillTimer,OnTimer.http://blog.csdn.net/bigfanofcppTop
6 楼Zhymax(蓝点)回复于 2005-06-18 19:32:33 得分 20
class myC
{
public:
void doSomething() ;
static VOID CALLBACK TimerProc (HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime );
} ;
void myc::doSomething
{
::SetTimer(NULL, 0, 100, TimerProc);
}
VOID CALLBACK myc::TimerProc (HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime )
{
::KillTimer(hwnd, idEvent);
return;
}Top
7 楼kugou123(酷狗)(彪悍的人生,不需要解释 www.xiaozhou.net)回复于 2005-06-18 19:41:11 得分 0
SetTimer函数中给出你的窗口句柄。
然后在消息里面处理WM_TIMER消息Top




