MFC如何停止运行

zsy_melissa 2015-12-18 04:56:11
做了一个用户界面,运行的时候用frace()函数在output来显示运行过程。但运行过程实在太久了··如果用户想停止运行就只能关闭整个程序。我想知道是否有办法在不关闭用户界面的情况下停止运行,或者暂停运行?让焦点回到界面上。
弱弱的补充一句···我用的是模态对话框~~~
...全文
226 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2016-01-22
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复多日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
笨笨仔 2015-12-21
  • 打赏
  • 举报
回复
让一个对话框结束有很多方法,关键是要找到一种事件触发方式,再按此事件需求选择方法,常见的事件有消息、定时、按键等。
  • 打赏
  • 举报
回复
引用 2 楼 qq_16576623 的回复:
[quote=引用 1 楼 oyljerry 的回复:] 如果你的frace可以暂停,那么你可以加一个按钮,然后设置一个标志位来让frace函数等暂停
那啥··打错了··不是frace函数··是trace():TRACE("Nr: = %d%s%d%s%d%s%d%s%s%d", DeviceCounter,s1,N1,s2,N2,s3,t,s4,s5,FailedDeviceCounter); 但问题是我的程序用的是模态对话框··所以在运行的时候,没有办法点击用户界面上的button啊~~有解决办法吗?[/quote] 和你用的什么对话框没有关系,大致思路就是,用多线程,你在执行这个trace操作时,放在独立的线程中运行,然后主线程就空闲出来了,你在界面上加一个按钮,这个按钮可以立即终止这个trace线程,就可以了,注意下线程同步问题。
zsy_melissa 2015-12-18
  • 打赏
  • 举报
回复
引用 1 楼 oyljerry 的回复:
如果你的frace可以暂停,那么你可以加一个按钮,然后设置一个标志位来让frace函数等暂停
那啥··打错了··不是frace函数··是trace():TRACE("Nr: = %d%s%d%s%d%s%d%s%s%d", DeviceCounter,s1,N1,s2,N2,s3,t,s4,s5,FailedDeviceCounter); 但问题是我的程序用的是模态对话框··所以在运行的时候,没有办法点击用户界面上的button啊~~有解决办法吗?
oyljerry 2015-12-18
  • 打赏
  • 举报
回复
如果你的frace可以暂停,那么你可以加一个按钮,然后设置一个标志位来让frace函数等暂停

15,979

社区成员

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

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