MFC OnTimer定时器修改时间间隔的问题

MFC对话框程序,用settimer(1,1000,NULL)创建定时器之后,如果想在程序其他位置修改定时器时间间隔,能不能用代码手动修改?还是一旦创建了定时器,就必须按照settimer中给定的时间间隔执行,无法修改?

其实你可以让timer使用你需要间隔的最大公约数。比如你的间隔可以是1秒,2秒,0.5秒,那么你的间隔可设置为0.5秒。
外加一个全局变量作为计数器
比如
private: int cnt = 0;
如果要2秒,而你的间隔是600毫秒,在ontimer写
cnt++;
if (cnt % 4 == 0) { 你的定时的代码 }

SetTimer can reuse timer IDs in the case where hWnd is NULL.
这是msdn上的解释。
你可以试试,应该可以在任何地方都可以修改 timer ID= 相同的好的参数的。

要修改时间间隔,再执行一次settimer 函数就好了。

有没有像C#中直接改timer1.interval这种的用某行代码直接修改???

时间间隔创建了不能修改吧,想修改就自己去写个线程