树形视图里设置定时器出现的问题.

abuseyoudna1981 2006-05-14 11:35:18
我创建的是SDI,视图选择了CTreeView,我想在双击树形视图某项的时候,启动一个定时器,结果发现,定时器执行的函数并不是按照我定下的时间去执行,我搞不懂为什么会这样.真不明白,不管我设置多长时间,它还是按照某一固定时间去启动.


大家帮忙看看.

void CMyIMView::OnTimer(UINT nIDEvent){
//change image here
int temp1;
temp1=a;
a=b;
b=temp1;
//

if(num==0) {
KillTimer(abc);
i=0;
}
for(int count=0;count<num;count++){

if(i==0){
i=20;

char* s="type.wav";
sndPlaySound(s,SND_ASYNC);
}
CRect itemrect;
GetTreeCtrl().SetItemImage(tip[count],a,b); //改变ITEM的图片
GetTreeCtrl().GetItemRect(tip[count],&itemrect,FALSE);
InvalidateRect(&itemrect,FALSE);
i--;

}


}





void CMyIMView::OnLButtonDblClk(UINT nFlags, CPoint point){
CString ok;
temp=GetTreeCtrl().GetSelectedItem();
if(temp==GetTreeCtrl().GetRootItem()){ //如果双击根目录,则执行树形视图原来的双击处理
CTreeView::OnLButtonDblClk(nFlags,point);
return;
}

//-----------------------------------------这里只是作测试用,以后要改写
for(int count=0;count<num;count++){ //如果该项正在闪动,取消闪动
if(temp==tip[count]){
CRect rect;
GetTreeCtrl().GetItemRect(tip[count],&rect,FALSE);
GetTreeCtrl().SetItemImage(tip[count],3,3);
InvalidateRect(&rect,FALSE);
for(count;count<num-1;count++){
tip[count]=tip[count+1];
}
num--;
return;
}
}
tip[num++]=temp;

if(bStart) return;
SetTimer(abc,5000,NULL);
bStart=TRUE;
return;
//-----------------------------------------

}
...全文
130 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
abuseyoudna1981 2006-05-15
  • 打赏
  • 举报
回复
最多一秒多.
Mr_Ldh 2006-05-15
  • 打赏
  • 举报
回复
不会吧,type.wav播放多长时间?
abuseyoudna1981 2006-05-15
  • 打赏
  • 举报
回复
是啊.不管我设多大,它都比我设的时间提前很多.设5秒,15秒.它执行的时间都是比我的快很多很多.不明白.我的目的主要是定时的更换树项目的图片而已,不知道哪出了问题.
abuseyoudna1981 2006-05-15
  • 打赏
  • 举报
回复
UP
蒋晟 2006-05-15
  • 打赏
  • 举报
回复
SetTimer只是往消息队列里面堆WM_TIMER消息而已,这消息什么时候处理则由系统繁忙情况决定

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧