请问如何在基于对话框的工程中添加SetTimer函数,最后添加WM_TIMER消息进行相应?

时间:2022-08-23 20:36:55
询问的内容如题,想做一个基于对话框的程序,但是不知道在哪里添加SETTIMER函数,请大家指教?或者参看那类资料?

8 个解决方案

#1


首先在类视图里右键菜单悬着添加消息响应,在弹出来的菜单中找到WM_TIMER,添加处理函数,向导会自动生成一个void CYourDlg::OnTimer(UINT nIDEvent) 函数,然后你就可以在想要开始计时的地方调用SetTimer(WM_TIMER, 1000, OnTimer)开始1000毫秒的计时器了,如果还不明白可以给我留言

#2


一般是在初始化函数里settimer()

#3


哪个版本的编译器?您什么时候需要就什么时候添加这个Timer

#4


settimer()

#5


谢谢 楼主们 我知道如何添加这个wm_timer这个消息 ,但是我不知道在那里添加写 这个SetTIMER
函数  正如有的楼主说在 初始化函数里调用  这个函数一旦被调用一次 就一直执行吗?知道 调用killtimer函数取消掉吗?

#6


你的程序什么时候需要开始定时,就在哪里开始啦,没有固定的位置的,可以放在OnInitDialog里或者其它的地方。

#7


引用 6 楼 oldmanzhao 的回复:
你的程序什么时候需要开始定时,就在哪里开始啦,没有固定的位置的,可以放在OnInitDialog里或者其它的地方。

一开始就执行可以发在OnInitDialog()中;
点击按钮执行放在按钮响应函数中;
控件或者鼠标键盘消息放在相应的消息函数中就可以了;
不想用了,KillTimer
一直使用直到程序结束KillTimer可以放在OnDestroy中

#8


3楼说的对,你什么时候需要就什么时候set

#1


首先在类视图里右键菜单悬着添加消息响应,在弹出来的菜单中找到WM_TIMER,添加处理函数,向导会自动生成一个void CYourDlg::OnTimer(UINT nIDEvent) 函数,然后你就可以在想要开始计时的地方调用SetTimer(WM_TIMER, 1000, OnTimer)开始1000毫秒的计时器了,如果还不明白可以给我留言

#2


一般是在初始化函数里settimer()

#3


哪个版本的编译器?您什么时候需要就什么时候添加这个Timer

#4


settimer()

#5


谢谢 楼主们 我知道如何添加这个wm_timer这个消息 ,但是我不知道在那里添加写 这个SetTIMER
函数  正如有的楼主说在 初始化函数里调用  这个函数一旦被调用一次 就一直执行吗?知道 调用killtimer函数取消掉吗?

#6


你的程序什么时候需要开始定时,就在哪里开始啦,没有固定的位置的,可以放在OnInitDialog里或者其它的地方。

#7


引用 6 楼 oldmanzhao 的回复:
你的程序什么时候需要开始定时,就在哪里开始啦,没有固定的位置的,可以放在OnInitDialog里或者其它的地方。

一开始就执行可以发在OnInitDialog()中;
点击按钮执行放在按钮响应函数中;
控件或者鼠标键盘消息放在相应的消息函数中就可以了;
不想用了,KillTimer
一直使用直到程序结束KillTimer可以放在OnDestroy中

#8


3楼说的对,你什么时候需要就什么时候set