사실 제가 원하는 것은 마우스 상태를 알 수 있는 명령어(System 명령어 포함)를 원한 것입니다.
제가 원하는 기능은 TListView 에서 DragMode를 dmAutomatic으로 하고
왼쪽 마우스로 Item을 선택하고 (마우스를 계속 누르고 있는 상태) 이동하면
자동적으로 DragMode가 됩니다.
그러면서 항목이 바뀌었다는 Event(OnMouseDown, onMouseUp, onClick) 등이 발생됩니다.
그런데 OnClick쯤에서 마우스가 계속 눌려져 있는 지를 점검해서 눌려져 있으면 선택되지 않은 것으로 처리하고자 하는 것입니다.
누르고 있는 상태에서 움직이면 OnMouseMove Event가 발생하지 않더군요
음 보통 드래그엔 드롭을 할때 오토메틱으로 하지 않는것으로 알고 있습니다.
왜냐면 제가 말씀드린 것 같은 류에 이벤트 들이 발생을 안하죠.
보통은 메뉴얼로 하고 마우스 상태에 따른 코딩으로 해결합니다.
저도 예전에 오토메틱으로 하다가 포기한적이 있죠. 편한거 같지만 원하는 바를 못만들어서요..(능력부족) -_-;;
근데 이상한건 드래그를 하고 있다는 가 자체가 왼쪽 버튼이 눌린 상태라는 건데 뭘 하실려는 지 모르겠네요.. -_-;; 이해력 부족 쩝..
onMouseMove 에서 Shift 값을 읽어 보면 알 수 있습니다.
if ssLeft in Shift then
Caption := 'Left Button Down.'
마우스무브 이벤트에 위 처럼 하면 알 수 있습니다..