我现在做了一个程序,TTimer定时10秒,时间到了就执行我要做的事情。
而我判断鼠标是否移动,想在移动后TTimer计数器置0(效果类似屏幕保护)。
我不知道TTimer中有没有什么方法可以完成我要的功能。
请大家帮帮我。

解决方案 »

  1.   

    用两个Timer,Timer1检测鼠标是否移动
    if 移动 then
    begin
        Timer.Enabled:=false;
        Timer2.Enabled:=true;
    end;楼主的意思表达不太明白
    不知这样是否是你要的效果
      

  2.   

    Timer1用来监视鼠标,可以用GetCurSorPos取得鼠标当前的位置然后进行比较如果与以前不同的话那么就Timer2.Enabled := False;Timer2.Enabled := True;
      

  3.   

    当然如果要做类似屏保那个样子的东西的话。只要在OnMouseMove等事件里面加上Timer2.Enabled := False;Timer2.Enabled := True;即可
      

  4.   

    我意思是说:
    当用户用这个程序的时候,如果10秒没有移动鼠标或按键盘执行一个其他程序(比如播放视频文)。
    当用户移动或按键盘了,可以回到程序中。
    问题的关键在于,比如说TTimer计时3秒中时,用户按了键盘,程序就需要让TTimer计时从0开始
    即再过10秒没有移动鼠标或按键盘执行一个其他程序(比如播放视频文)。
      

  5.   

    换句话来说:我想设置TTimer的计时器
    比如TTimer我定时10秒
    可是在它计时到3秒的时候,这时候还剩余7秒,我希望把它设置回10秒
      

  6.   

    var
      IdleCounter: Integer=0;procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      Inc(IdleCounter);
      if IdleCounter = 10 then
        播放视频文件;
    end;
    ......用户有动作.....
      if 正在播放视频文件 then
        停止播放;
      IdleCounter := 0;
    ......
      

  7.   

    Enalbed:=False就置0  ????
    我实践证明不会置0。
    请大家多多发言,分不够可以再给。我再说说我想要解决的问题:
    我想设置TTimer的计时,比如TTimer定时10秒,可是在它计时到3秒的时候,这时候还剩余7秒,我希望把它设置回10秒(也就是计时到0秒)。
      

  8.   

    强哥的方法意思对了,不过在这里我是想求TTimer有没有什么属性,方法
    可以把计时累加值置0。
      

  9.   

    belllab(bell) 是对的,我被flash控件害惨了!(头都大了)