|
드래그시에는 MouseUp, MouseDown 이벤트에 의존 하시는 것 보다,
드래그 관련 이벤트를 사용하시는 것이 좋으실 것 같습니다.
그 이유는, 드래그 시에는, 해당 마우스가 객체 영역을 벗어나더라도,
윈도우 특성상 이벤트를 새 객체로 보내는 것이 아닌, 드래그가 시작한
곳으로 보내게 되는데요, 그렇기 때문에 Shape 를 새로 그려주셨다
하더라도, 이쪽으로 이벤트가 발생되지 않습니다.
기식님께서 작업하신 내용을 정확히 테스트 해보지 않아 현상은 잘 모르겠지만,
오른쪽, 왼쪽 마우스의 Capture (정확히 말해서는 드래그 이벤트와 동시에
Mouse 이벤트의 발생) 가 정확히 발생하지 않을 수도 있을 것 같습니다.
드래그 관련 이벤트를 이용하셔서 윈도우 기본 드래그를 사용하시거나,
MouseUp, MouseDown 을 사용하셔서 드래그를 직접 구현하시는 것도
좋을 것 같습니다.
cuperido
권기식.with☆ 님이 쓰신 글 :
: 안녕하세요..
:
: 오랜만에 질문 남기네요..
: 한동안 비베로 작업했더니.. ㅠ.ㅠ
:
: 지금 하려는게 SRAM에 다운로드할 데이터를 만드는 프로그램입니다.
:
: TImage에 바이너리 데이터를 그래프로 보여주는데요..
: 그 편집을 마우스로 드래그 하여 하려고 합니다.
:
: 드래그 이벤트를 아직 공부를 안해서 더 좋은 방법이 있는지는 찾아보지 않았습니다만...
:
: TShape를 배치하고..
: MouseDown 시에 TShape를 Visible 하게 해주고..
: MouseMove 동안 TShape의 Width를 변경하여 선택한 영역을 표시합니다.
: MouseUp시에 어떤 버튼이 클릭되었냐에 따라 데이터를 쓰기도 하고 지우기도 하는데..
:
: MouseUp시에 마우스 왼쪽, 오른쪽 버튼의 동작이 다르군요...
:
: 예를 들어 드래그 하다가 TShape 위에서 마우스 버튼을 릴리즈했을 때 왼쪽 버튼은 정상적으로 이벤트를 발생하는데, 오른쪽 버튼은 이벤트를 발생시키지 않는군요.
:
: 이넘 때문에 한참 삽질을 했습니다.
:
: 할 수 없이 원래 했던 방식대로 Ctrl 키로 판독을 해야겠네요.. ㅠ.ㅠ
:
: 이 증상에 대해서 설명해주시면 감사하겠습니다.
|