关于Ontimer()的问题

wangjuan313 2009-09-08 03:04:41
我用基于MFC的单文档形式建立了一个工程

然后增加了一个菜单实现了读取文件的功能

将SetTimer()设置在View里面的Ondraw()中

但是在调试的时候我发现了一个问题

在我将断点放在文件读取菜单功能的位置时发现,在我从电脑中选择了相应的文件读入之前,其实OnTimer()已经在执行了

我怎么样才能控制OnTimer()在我读取文件以后才执行?

谢谢大家。现在刚接触MFC,不是很了解他的执行顺序,请帮我具体讲一下在MFC基于单文档的函数的执行顺序。

十分感谢
...全文
109 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuohoo 2009-09-08
  • 打赏
  • 举报
回复
2楼回答了
我混点分吧
thebestfriend 2009-09-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dirdirdir3 的回复:]
读取文件后SetTimer
[/Quote]
赞同!!!!
先判断一下文件是否读取完毕,然后再执行OnTimer();
jiabin_007 2009-09-08
  • 打赏
  • 举报
回复
在你调试的程序打开后,将其缩放到屏幕左边,然后在屏幕右边放vc编译器。目的就是不让其切换时重绘
skynfly 2009-09-08
  • 打赏
  • 举报
回复
为什么要放在OnDraw里面啊,最好不要放在里面,视图一刷新就会执行到OnDraw()

如果一定要放在里面,可以定义个bool isStartTime = false;
读完文件将这个值设置为true。isStartTime = true;
if(isStartTime)
{
SetTimer();
}
l181870134 2009-09-08
  • 打赏
  • 举报
回复
单文档的话 ondraw()函数在每次重绘的时候都调用了 你也可以在ONTIMER中设置断点,把窗口最大化 或者最小化后还原 看是不是断在 ONTIMER中
按你的思路 应该在你读取文件操作完成后 Settimer
dirdirdir3 2009-09-08
  • 打赏
  • 举报
回复
读取文件后SetTimer
zyq5945 2009-09-08
  • 打赏
  • 举报
回复
SetTimer()在菜单实现了读取文件的功能 里调用就好了,重复读取的话考虑用KillTimer;

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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