Метод IDropTarget::D ragEnter (oleidl.h)
Указывает, можно ли принять удаление и, если да, то эффект удаления.
Синтаксис
HRESULT DragEnter(
[in] IDataObject *pDataObj,
[in] DWORD grfKeyState,
[in] POINTL pt,
[in, out] DWORD *pdwEffect
);
Параметры
[in] pDataObj
Указатель на интерфейс IDataObject в объекте данных. Этот объект данных содержит данные, передаваемые во время операции перетаскивания. В случае удаления этот объект данных будет включен в целевой объект.
[in] grfKeyState
Текущее состояние клавиш-модификаторов клавиатуры на клавиатуре. Возможные значения могут быть сочетанием любого из флагов MK_CONTROL, MK_SHIFT, MK_ALT, MK_BUTTON, MK_LBUTTON, MK_MBUTTON и MK_RBUTTON.
[in] pt
Структура POINTL , содержащая текущие координаты курсора в экранных координатах.
[in, out] pdwEffect
На входных данных указатель на значение параметра pdwEffect функции DoDragDrop . При возврате должен содержать один из флагов DROPEFFECT , который указывает результат операции удаления.
Возвращаемое значение
Этот метод возвращает значение S_OK при успешном завершении. Ниже перечислены другие возможные значения.
Код возврата | Описание |
---|---|
|
Произошла непредвиденная ошибка. |
|
Параметр pdwEffect имеет значение NULL на входных данных. |
|
Недостаточно доступной памяти для этой операции. |
Комментарии
DragEnter не вызывается напрямую; Вместо этого функция DoDragDrop вызывает ее для определения эффекта перетаскивания при первом перетаскивании мыши в зарегистрированное окно целевого объекта перетаскивания.
Чтобы реализовать DragEnter, необходимо определить, может ли целевой объект использовать данные в исходном объекте данных, проверив три вещи:
- Формат и среда, заданные объектом данных
- Входное значение pdwEffect
- Состояние клавиш-модификаторов
При входе в IDropTarget::D ragEnterпараметру pdwEffect присваиваются эффекты, заданные параметру pdwOkEffect функции DoDragDrop . Метод IDropTarget::D ragEnter должен выбрать один из этих эффектов или отключить удаление.
Следующие клавиши-модификаторы влияют на результат удаления.
Сочетание клавиш | Отзывы User-Visible | Эффект перетаскивания |
---|---|---|
CTRL+SHIFT | = | DROPEFFECT_LINK |
CTRL | + | DROPEFFECT_COPY |
Без ключей или SHIFT | None | DROPEFFECT_MOVE |
При возврате метод должен записать эффект (один из флагов DROPEFFECT) в параметр pdwEffect . Затем DoDragDrop принимает этот параметр и записывает его в свой параметр pdwEffect. Вы сообщаете о результате отката в источник с помощью DoDragDrop в параметре pdwEffect . Затем функция DoDragDrop вызывает IDropSource::GiveFeedback , чтобы исходное приложение хозяйка хозяйки хозяйки отображало соответствующую визуальную обратную связь для пользователя через целевое окно.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | oleidl.h |