перехват мыши при drag-n-drop файлов на объект
От: mospehraict  
Дата: 28.11.04 08:59
Оценка:
допустим, требуется на объект, например на TreeView перетаскивать файлы (напр. из Explorer'а). для этого окно регистрируется через DragAcceptFiles(), затем перехватывается WM_DROPFILES. при этом, при начале перетаскивания из Explorer'а, мышь захватывается тем окном, откуда шло перетаскивание, и, соответственно, TreeView сообщений WM_MOUSEMOVE не получает. но, допустим, требуется ещё до отпускания мыши и падения файлов (вызова WM_DROPFILES) отслеживать перемещения мыши по окну. как это сделать? какие сообщения следует перехватывать?

спасибо.
Re: перехват мыши при drag-n-drop файлов на объект
От: alive Россия  
Дата: 28.11.04 13:17
Оценка:
Здравствуйте, mospehraict, Вы писали:

M>какие сообщения следует перехватывать?


Ну, например, в OnDragOver есть координаты. Да и в других событиях, которые вызываются при перетаскивании тоже есть.
... << RSDN@Home 1.1.4 beta 3 rev 235 >> <<silent>>
Keep yourself alive
Re[2]: перехват мыши при drag-n-drop файлов на объект
От: mospehraict  
Дата: 28.11.04 21:55
Оценка:
Здравствуйте, alive, Вы писали:

A>Здравствуйте, mospehraict, Вы писали:


M>>какие сообщения следует перехватывать?


A>Ну, например, в OnDragOver есть координаты. Да и в других событиях, которые вызываются при перетаскивании тоже есть.


OnDragOver при перетаскивании из другого приложения не вызывается.
Re[3]: перехват мыши при drag-n-drop файлов на объект
От: alive Россия  
Дата: 29.11.04 08:16
Оценка:
Здравствуйте, mospehraict, Вы писали:

M>OnDragOver при перетаскивании из другого приложения не вызывается.


Да, это я погорячился. Можно попробовать использовать DragQueryPoint.
... << RSDN@Home 1.1.4 beta 3 rev 235 >> <<silent>>
Keep yourself alive
Re[4]: перехват мыши при drag-n-drop файлов на объект
От: mospehraict  
Дата: 29.11.04 11:34
Оценка:
Здравствуйте, alive, Вы писали:

A>Здравствуйте, mospehraict, Вы писали:


M>>OnDragOver при перетаскивании из другого приложения не вызывается.


A>Да, это я погорячился. Можно попробовать использовать DragQueryPoint.


из Delphi Help:
"The DragQueryPoint function retrieves the position of the mouse pointer _at the time a file was dropped_.
The window for which coordinates are returned is the window that received the WM_DROPFILES message."

я как раз использую её для сбора координат при перехвате WM_DROPFILES. но это не то, что мне нужно, так как мне нужно собирать координаты мыши _до_ сброса файлов.
Re[5]: перехват мыши при drag-n-drop файлов на объект
От: alive Россия  
Дата: 29.11.04 15:05
Оценка:
Здравствуйте, mospehraict, Вы писали:

M>я как раз использую её для сбора координат при перехвате WM_DROPFILES. но это не то, что мне нужно, так как мне нужно собирать координаты мыши _до_ сброса файлов.


Ну ладно. Последняя попытка
Посмотрите в MSDN описание интерфейса IDropTarget. Подойдет?
... << RSDN@Home 1.1.4 beta 3 rev 235 >> <<silent>>
Keep yourself alive
Re[6]: перехват мыши при drag-n-drop файлов на объект
От: mospehraict  
Дата: 29.11.04 15:09
Оценка:
Здравствуйте, alive, Вы писали:

A>Здравствуйте, mospehraict, Вы писали:


M>>я как раз использую её для сбора координат при перехвате WM_DROPFILES. но это не то, что мне нужно, так как мне нужно собирать координаты мыши _до_ сброса файлов.


A>Ну ладно. Последняя попытка :)

A>Посмотрите в MSDN описание интерфейса IDropTarget. Подойдет?

уже подошло, спасибо :-)
я просто на самом деле искал более простой способ.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.