VS2008中,用类向导建立消息响应函数OnTimer来响应SetTimer发出的WM_TIMER 具体怎么操作。

2024-12-19 14:25:41
推荐回答(2个)
回答1:

类视图中选中C***Dlg类(就是你自己的对话框类),然后在属性页里的“消息”下选择WM_TIMER消息,点右边的空白处出现个下箭头,就用那个添加消息处理函数OnTimer就行了。自己写OnTimer的话,你得手动改消息映射列表。也不难的。在消息映射列表里加上ON_WM_TIMER()宏就好了,结果是一样的。你之所以定义的OnTimer没有响应WM_TIMER消息,就是缺少上面这个消息映射。

回答2:

比如:
void CMy111Dlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if(nIDEvent==1) //标志1
{
//你的代码
}
CDialog::OnTimer(nIDEvent);
}
然后在你要启动时间器的地方写SetTimer(1,1000,NULL);//第一个参数是相当于上面的标志1
第二个则是时间(毫秒),第三个参数NULL就行;
要停下时间器的话就用KillTimer(1);//1还是上面的标志