请问:在activex里如何设置定时器???

moloto2004 2004-11-04 10:13:21
用ATL作activex 定义一个定时器

LRESULT OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& Handled)
{
num++;
FireViewChange();
return 0;
}

我想在OnDraw完成时启动定时器
。。。 。。。
if(First)
{
::SetTimer(this->m_hWndCD,1,1000,NULL);//放到构造函数里也不行
First = FALSE;
}

return S_OK;//end ondraw

可是调试的时候不知道怎么回事,程序根本进不到定时器里,是不是
::SetTimer(this->m_hWndCD,1,1000,NULL);不对啊??

这里面有没有一个与mfc的InitDialog类似的东东啊??
...全文
71 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
howdevelopment 2004-11-04
  • 打赏
  • 举报
回复
呵呵,我刚做好,不过你用了别忘记给我加分
具体来说,两种方式:
一、时间线程方式:
定义
static void CALLBACK MyTimerProc(HWND hwnd,UINT uMsg,UINT idEvent,DWORD dwTime);
UINT m_nTimerID;

使用
m_nTimerID = SetTimer(NULL,NULL,100,MyTimerProc);

销毁
KllTimer(NULL,m_nTimerID);

注意:这种方式在实现MyTimerProc函数时里边必须调静态的函数,你可以用另外一个类/文件实现这个函数。
二、运用TimerGetTime().即启动一个线程,自己实现时间线程

我都测试过,没问题的
moloto2004 2004-11-04
  • 打赏
  • 举报
回复
好的,我试一试。分给你

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧