탐색기비슷한걸 만드려고 합니다.
탐색기에서 드래그 & 드롭하면 파일이 이동되잖아요~
그것처럼...
TImage 컴포넌트에 파일이 있을때 드래그를 해서
TListBox 에 가져다 놓으면 파일이 이동하는걸 하려고 합니다.
파일 이동은 잘 되는데요... 이벤트 시점을 잡는게 문제가 되는것 같습니다.
이미지컴포넌트의
DragMode 를 dmAutomatic ,
DragKind 를 kgDrag ,
DragCursor 를 crDrag 로 했구요...
LboxListDragOver 이벤트에 파일이동부분을 넣었습니다.
그런데... (요기서부터 문제점입니당...)
1. 파일이동부분이 두번 실행이 됩니다.
LboxListDragOver 가 두번 일어나는건가요? 왜그런지 잘 모르겠습니당.
2. 드래그를 하면 마우스가 드래그모양으로 생겨야 하는데
오히려 crNodrop모양으로 바뀝니다. (디폴트에서 -> crNodrop 모양으로)
답답하기만 합니다... 아시는분 좀 가르쳐주세요~~~ ^^
안녕하세요?
1.DragOver는 마우스가 드래그 상태에서 마우스가 지나갈때 생깁니다.
따라서 떨구는 동작인 DrapDrop이벤트에 파일이동 루틴을 구현하셔야 할 것 같습니다.(드래그드롭동작을 생각해보시면 이해가 되시리라 생각합니다)
2.마우스 커서는 별도로 설정안하셔도 자동으로 변경이 됩니다.
위같은 문제라면 DragOver이벤트의 Accept인자가 False로 설정되어 있을 때 생기는 것이라 보여집니다. Accept인자를 살펴보시죠.