rt

解决方案 »

  1.   

    settimer有参数可以设置间隔时间,killtimer可以取消这个定时器。
    settimer的机制就是定时受到wm_timer消息,处理即刻。
      

  2.   

    我晕,你说的和delphi帮助的一样,不过还是要谢谢你!
    我要实际的程序,举个例好不好
    比如说settimer放在哪?
    是sendmessage(wm_timer,......?????
    谁能举个程序段出来啊!!谢谢各位同行了!!!!
      

  3.   

    unit Main;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ExtCtrls, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
        procedure Timer(var msg:tmessage);message wm_timer;
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
    settimer(handle,1,100,nil);
    end;procedure TForm1.Timer(var msg: tmessage);
    begin
       beep;
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
    killtimer(handle,1);
    end;
      

  4.   

    谢谢你了!不过我不是要VCL下的,我的程序是要求自动打开计时器,我用createwindowes()创建窗体,也不要用if (lparam lbutton) then ....
    我一直设定不上,不知道为什么?
    麻烦您再帮帮我!!!
      

  5.   

    settimer甚至可以不用任何窗体。
    第一个参数是0,最后一个参数是一个timerproc回调函数的地址,就完全可以在这个timerproc里面响应定时。但是至于如何killtimer,在这种情况下,我就不知道了。
      

  6.   

    不过你可以在timerproc里面判断一个全局变量,看看是否还需要计时,别忘了同步哦
      

  7.   

    THaNk u~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~