停止响应消息函数里面的函数(初次发帖,请多指教)

looklzg1108 2009-10-09 05:27:07
消息函数:
ON_MESSAGE(UM_HANDLE_EVENT, OnHandleEvent)

响应消息函数:
LRESULT CCategoryTree::OnHandleEvent(WPARAM wParam, LPARAM lParam)
{
...
if (1 == lParam): //第一种情况
{
...
fun();//数据量比较大,执行时间比较长
...
}
else if (2 == lParam): //第二种情况
{
...
//问题:如何在这里停止第一种情况的fun()函数
...
}

else
...
}


PS:用 CSingleLock::IsLocked())怎么实现?
...全文
59 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
looklzg1108 2009-10-10
  • 打赏
  • 举报
回复
问题已解决,谢谢。
qiangorqiang 2009-10-09
  • 打赏
  • 举报
回复
你定义一个表示状态的变量,在fun()函数中每次循环检查一下这个变量的状态,符合条件后就退出。
looklzg1108 2009-10-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qiangorqiang 的回复:]
你的这种写法做不到你要的效果。
你可以采用定时器或多线程来实现你需要的效果。
[/Quote]

定时器也要调用fun()函数,在第二种情况里面killtimer(int),还是要等执行完fun.
至于多线程,暂时不考虑。
qiangorqiang 2009-10-09
  • 打赏
  • 举报
回复
你的这种写法做不到你要的效果。
你可以采用定时器或多线程来实现你需要的效果。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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