怎么让窗口的Button按键改成按一次就不停地执行该Button的动作?就是循环运行。 新手入门,盛表感谢!

解决方案 »

  1.   

    加个Timer就行了啊,多长时间执行一次,你自己设置Timer的间隔时间就可以了
      

  2.   

    这样不会死循环啊?至少得在form里面有个变量,控制button的事件在什么合适的时机终止运行才行吧。
    按你的要求,如果不用TTimer的话,那么在这个button事件的最后一个语句或是出口语句你来,加上消息发送
    Windows.PostMessage(button1.HWnd,BM_CLICK,0,0)
    这样,button事件执行完毕,立马button又会收到一个点击消息,又开始执行这个事件,循环不已
    楼主不会想学愚公移山吧,哈哈
      

  3.   


    再设置一下退出timer的条件。
      

  4.   

    你到底需要干什么?你搞清楚了,程序就容易写了。
    就像你的“按键改成按一次就不停地执行该Button的动作”是什么意思?可能有不同的解释,如果你实现了也许你会发现并不是你想实现的。
      

  5.   

    var
     stopdo:boolean;procedure TForm1.Button1Click(Sender: TObject);
    begin
     while not stopdo do
      begin
        sleep(1);
        application.ProcessMessages;  end;
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
     stopdo:=true;
    end;
      

  6.   

    呵呵,初学者问题。 IDWB同学的回答很合我意,我稍作修改就能用了。大家的回答都很好,谢谢大家!让我增长了对Delphi的认识。