제목이 약간 이상하긴 하다만..
어쨌든 써보자.
[버튼1] [버튼2] 이렇게 버튼이 폼에 배치되어 있다고 치자.
이때 [버튼1] 을 클릭하여 왼쪽 버튼을 떼지않고 드래그 하여
[버튼2]에 마우스 포인터를 올려놓은 채로 마우스를 떼자!
그럼 [버튼1]의 OnMouseUp 이벤트를 먹을까? 아님 [버튼2]의 이벤트를 먹을까?
정답은 [버튼1]의 OnMouseUp 이벤트를 먹는 다는 것이다.
하지만..
이렇게 하면 드래그 & 드롭의 기능을 구현하는데 있어서 상당히 까다로와 진다..
[버튼1]을 드래그하여 [버튼2]로 왔다는것을 알수가 없으니까.
(하지만 마우스 오른쪽 버튼을 이용한 드래그는 잘 된다..!! 희한하지?)
그래서!!!!
왼쪽버튼으로도 할수 있게 하는 아주 간단한 방법이 있다.
[버튼1] 클릭시 OnMouseDown 이벤트 프로시져 안에
procedure TForm1.버튼1OnMouseDown(sender : Tobject;어쩌구저쩌구 하여튼 프로시져) begin ReleaseCapture ; //처리해줄것들; // : //: end;
한줄만 추가해주면..
바로 저 한줄만 추가해주면..
[버튼1] 에서 쭈욱 드래그 한 후에
[버튼2] 에서 마우스업을 하게되면
[버튼2]의 OnMouseUp 이벤트를 받게된다는 말씀..
내가 써놓고도 이해가 안되는데 누가 본들 이해하랴 ㅡ.ㅡ;
댓글