为什么我在EVC中用不了定时器函数(WM_TIMER、setimer、ontimer、killtimer)

tylar   2007-1-8 19:59 楼主
我建一个最简单的对话框程序,然后利用Winzard主对话框添加WM_TIEMR,生成函数OnTimer()中添加代码如下:
void CTimeDlg::OnTimer(UINT nIDEvent)
{
        AfxMessageBox("每1秒");
        CDialog::OnTimer(nIDEvent);
}

然后在主对话框初始化函数BOOL CTimeDlg::OnInitDialog()中添加:
SetTimer(0,1000,NULL);

编译成功后把exe文件复制到板子的CF卡中,运行程序没发现弹出“每一秒”这个对话框,分析一下,猜想是没启动定时器。

但为什么没启动呢?(用同样的步骤在VC中可以实现弹出“每一秒”对话框)
是PB生成的系统少添加了什么组件,还是SDK生成时有什么问题?
还是??………………我不知道,您知道问题出在哪吗?告诉我一下,20分相送,谢谢!

我的是FS-ep9315 ARM9板子,操作系统wince 4.2

回复评论 (6)


SetTimer(0,1000,NULL);

改为

SetTimer(1,1000,NULL);

试试看!
点赞  2007-1-8 20:21
这位大哥你可能还没弄清SetTimer这个函数,第一个参数是设置第几个定时器的时候用的标示符(多个定时器同时用的时候),方便后面判断调用哪个定时器~~
点赞  2007-1-9 00:21
nIDEvent
Specifies a nonzero timer identifier. If the hWnd parameter is NULL, this parameter is ignored
点赞  2007-1-9 09:49
希望你可以看懂......
点赞  2007-1-9 09:50
SetTimer(1,1000,NULL)就行了
点赞  2007-1-9 14:49
我知道错了,谢谢大家指点,我以后会谦虚点的,呵呵
点赞  2007-1-9 20:35
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复