Q&A

  • 버튼 이벤트에서....
버튼이 눌려져서 뗄때까지 계속해서 이벤트를 발생하고 싶은데....
버튼이 눌려졌을때 텍스트 박스의 값에 계속해서 1씩 증가를 시킬려고 합니다...
이것저것 해도 이벤트가 한번 밖에 발생하지를 않아서요....

아님 버튼 눌려졌을 때, 루프도는 프로시저 하나 만들어서 그 놈 호출하고, 루프안에서 버튼 뗏는지 계속 검사해서 그 때까지 루프 돌아야 될거 같은데....

다른 방법이 없나요...?
1  COMMENTS
  • Profile
    살며배우며 2003.09.27 21:29
    간단한 방법으로 타이머를 사용하면 간단히 해결될것 같은데요.

    간단한 소스 올립니다.


    procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      Edit1.Text := '0';
      Timer1.Enabled :=True;
    end;

    procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      Timer1.Enabled :=False;
    end;

    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      Edit1.Text := IntToStr(StrToInt(Edit1.Text) + 1);
    end;