Q&A

  • 트리뷰 밖에서 마우스를 떼도 MouseUp이벤트가 일어나게 하는법?
안녕하세요.
트리뷰의 아이템을 클릭한 다음에 드레깅을 해서 트리뷰 밖의 다른 컴포넌트 위에서 마우스를 뗄 경우 특정 작업을 실행하게 하려고 합니다.
제 아이디어는 트리뷰의 MouseUp이벤트가 발생할 때 특정 작업을 실행 해 주는 것인데요, 트리뷰 위에서 클릭을 해서 드레깅을 시작했더라도 마우스 버튼을 떼는것을 트리뷰 위에서 해 주지 않으면 MouseUp이벤트가 발생하지 않더군요.
혹시 마우스버튼을 트리뷰에서 누른 경우에는 마우스를 화면의 어디에서 떼던간에 트리뷰의 MouseUp이벤트가 발생하게 하는 방법을 하시는 분 계신가요?
고수분들께서 조언을 해 주신다면 정말 감사하겠습니다. 좋은 하루되세요^^
1  COMMENTS
  • Profile
    최용일 2006.02.09 23:56
    안녕하세요. 최용일입니다.

    마우스를 캡춰해보세요...

    <!--CodeS-->
    procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      SetCapture(TreeView1.Handle);
    end;

    procedure TForm1.TreeView1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      ReleaseCapture;
      ShowMessage('Mouse Capture Released.');
    end;
    <!--CodeE-->

    ^^ 항상 즐코하세요...