请教高手,如何把一个Button1做成当按下后重复执行一个函数直到鼠标放开为止?

解决方案 »

  1.   

    procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    beginend;//按下
    procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    beginend;//松开
      

  2.   

    var
      flag: Boolean = True;procedure MyProc;
    begin
      // 你要执行操作
    end;procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
      flag := True;
      while flag do
      begin
        MyProc;
        Application.ProcessMessages;
      end;
    end;procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
      flag := False;
    end;