SetTimer+OnTimer计时器不起作用!
CChipDlg chipDlg(this);
chipDlg.SetTimer(12,5000,NULL);
//////////////
void CChipDlg::OnTimer(UINT nIDEvent)
{ //未调用!!!!!!!!!
switch(nIDEvent)
{
case 12:
this->OnCancel();
break;
}
.......
}
问题点数:100、回复次数:10Top
1 楼pagesun(Rain)回复于 2005-05-19 14:36:29 得分 0
另外已开了一个计时器!
一个线程只能有一个计时器存在!?Top
2 楼handwolf(青松崖)回复于 2005-05-19 14:39:08 得分 0
看看消息映射对了没?Top
3 楼dongfa(一桶江湖( http://www.codelive.net ))回复于 2005-05-19 14:39:46 得分 0
CChipDlg chipDlg(this);在哪里声明的,不会是临时变量吧?Top
4 楼pagesun(Rain)回复于 2005-05-19 14:46:30 得分 0
CChipDlg chipDlg(this);
在一个视图类的一个函数里面Top
5 楼bohut(●伯虎● )回复于 2005-05-19 15:02:04 得分 50
CChipDlg *pDlg = new CChipDlg();
pDlg->Create(IDD_DIALOG_TIMER,this);
pDlg->SetTimer(12,5000,NULL);
最后记得:
if (pDlg)
{
delete pDlg;
pDlg = NULL;
}Top
6 楼chuanke((C ) 2005【空间代数】. All rights reserved .)回复于 2005-05-19 15:02:55 得分 0
见另外的贴的答案
Top
7 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-05-19 15:18:02 得分 0
对话框保证没有销毁Top
8 楼Ariesman(苦行僧)回复于 2005-05-19 15:21:38 得分 50
CChipDlg chipDlg(this);
这是局部变量,创建了一个新的实例,
在这个函数结束时会被自动销毁,所以不会响应OnTimer了,
因为它已经不存在了...
Top
9 楼xnlcx(J2EE.Net)回复于 2005-05-19 15:39:30 得分 0
CChipDlg chipDlg(this);
在一个视图类的一个函数里面
--------------------------------
不行
Top
10 楼AntonlioX(做人要厚道)回复于 2005-05-19 15:45:22 得分 0
同意 “ Ariesman(超然) ”的说话。我也是如此认为Top




