vc 中定时ontimer的问题

一条咸鱼干 2009-01-19 10:06:22
void CTest1Dlg::OnButton1()
{
// SetTimer(1,2000,NULL);
StartTimer(2000);
}
void CTest1Dlg::StartTimer(UINT TimerDuration)
{
SetTimer(1,TimerDuration,0);
}
void CTest1Dlg::OnTimer(UINT nIDEvent)
{
AfxMessageBox("fff");
CDialog::OnTimer(nIDEvent);
}
这段代码,OnTimer里面的函数根本没执行,不知道为什么,期待高手指教,谢谢了???????????
...全文
99 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
一条咸鱼干 2009-01-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 arong1234 的回复:]
更正一下,也许楼上的那些代码是新版本才有的,我还是不十分熟悉

不过我记得VC里是需要在BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间插入如下一行

ON_WM_TIMER()
[/Quote]
恩,谢谢了,在vc6.0中加ON_WM_TIMER()
就可以用了,谢谢所有参与的各位了
arong1234 2009-01-19
  • 打赏
  • 举报
回复
更正一下,也许楼上的那些代码是新版本才有的,我还是不十分熟悉

不过我记得VC里是需要在BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间插入如下一行

ON_WM_TIMER()
arong1234 2009-01-19
  • 打赏
  • 举报
回复
在你cpp的BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间把上面那行代码插进去即可
一条咸鱼干 2009-01-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 oyljerry 的回复:]
BEGIN_MSG_MAP(CTest1Dlg)
MESSAGE_HANDLER(WM_TIMER, OnTimer)
END_MSG_MAP()
[/Quote]
还是有点不明白 ,要怎么添加呢?
oyljerry 2009-01-19
  • 打赏
  • 举报
回复
BEGIN_MSG_MAP(CTest1Dlg)
MESSAGE_HANDLER(WM_TIMER, OnTimer)
END_MSG_MAP()
一条咸鱼干 2009-01-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 arong1234 的回复:]
窗口没有所谓的独占、阻塞模式,它的modal模式也不会阻挡消息。窗口就是靠消息活的,没有办法处理消息窗口自己都不行
估计WM_TIMER消息没处理才是真的,这不是你加一个OnTimer函数就可以的
引用 1 楼 ccpaishi 的回复:
楼主看看这个对话框是不是独占的阻塞形式的。这样的话,定时器是无效的。
[/Quote]
请问要怎么处理WM_TIMER消息,能否给个例子说明下,谢谢
arong1234 2009-01-19
  • 打赏
  • 举报
回复
窗口没有所谓的独占、阻塞模式,它的modal模式也不会阻挡消息。窗口就是靠消息活的,没有办法处理消息窗口自己都不行
估计WM_TIMER消息没处理才是真的,这不是你加一个OnTimer函数就可以的
[Quote=引用 1 楼 ccpaishi 的回复:]
楼主看看这个对话框是不是独占的阻塞形式的。这样的话,定时器是无效的。
[/Quote]
oyljerry 2009-01-19
  • 打赏
  • 举报
回复
添加 WM_TIMER()消息宏没
ccpaishi 2009-01-19
  • 打赏
  • 举报
回复
楼主看看这个对话框是不是独占的阻塞形式的。这样的话,定时器是无效的。

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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