RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Drag&Drop


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Eugen Kuleshov
To : Andy A. Porro
Subj : Drag&Drop

> Спасибо, там я уже читал.
> Отступление. Меня удивляют современные писатели док. Описывают никому не нужные подробности касающиеся мелочей, но никак не описывают полной картины.
> Тогда, может кто конкретно ответит ?
> Обьект тащат от меня (из моего контейнера) последовательно получаю сообщения CN_DRAGINIT, CN_DRAGLEAVE, CN_DRAG_NOTIFY, CN_DRAGDROP. При DROP я знаю что тащили, но ума не приложу как определить куда тащили ? В примере из toolkit-а (несмотря на то, что он работает) совершенно это не ясно, и нафига там дополнительный thread ? Может кто сможет описать в виде последовательности событий, что за чем происходит и как обрабатывается ?

Drag-information structure.

typedef struct _DRAGINFO {
ULONG cbDraginfo; /* Structure size, in bytes. */
USHORT cbDragitem; /* Size, in bytes, of each DRAGITEM structure. */
USHORT usOperation; /* Modified drag operations. */
HWND hwndSource; /* Window handle of the source of the drag operation. */
SHORT xDrop; /* X-coordinate of drop point expressed in desktop coordinates. */
SHORT yDrop; /* Y-coordinate of drop point expressed in desktop coordinates. */
USHORT cditem; /* Count of DRAGITEM structures. */
USHORT usReserved; /* Reserved. */
} DRAGINFO;

typedef DRAGINFO *PDRAGINFO;

xDrop и yDrop тебе сказали. А уж по ним окно куда уронили определить проблемы нет - WinWindowFromPoint() и т.п...



Mon 03 Dec 2001 18:39 Mozilla/3.0 (X11; I)




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.