Функция RegisterDragDrop (ole2.h)
Регистрирует указанное окно как окно, которое может быть целевым объектом операции перетаскивания OLE, и указывает экземпляр IDropTarget , используемый для операций перетаскивания.
Синтаксис
HRESULT RegisterDragDrop(
[in] HWND hwnd,
[in] LPDROPTARGET pDropTarget
);
Параметры
[in] hwnd
Дескриптор к окну, которое может быть целевым объектом для операции перетаскивания OLE.
[in] pDropTarget
Указатель на интерфейс IDropTarget для объекта, который должен быть целью операции перетаскивания в указанном окне. Этот интерфейс используется для передачи сведений о перетаскивании OLE для этого окна.
Возвращаемое значение
Эта функция возвращает S_OK при успешном выполнении. Ниже перечислены другие возможные значения.
Код возврата | Описание |
---|---|
|
Недопустимый дескриптор, возвращенный в параметре hwnd. |
|
Указанное окно уже зарегистрировано в качестве целевого объекта удаления. |
|
Недостаточно памяти для операции. |
Комментарии
Если приложение может принимать удаленные объекты во время операций перетаскивания OLE, необходимо вызвать функцию RegisterDragDrop . Это можно сделать всякий раз, когда одно из окон приложения доступно в качестве потенциального целевого объекта удаления; то есть, когда окно отображается на экране без видимости.
Поток приложения, вызывающий функцию RegisterDragDrop , должен перекачивать сообщения, предположительно путем вызова функции GetMessage с параметром NULLhWnd , так как OLE создает в потоке окна, требующие обработки сообщений. Если это требование не выполняется, любое приложение, перетаскивающее объект над окном, зарегистрированным как целевой объект, будет зависать до закрытия целевого приложения.
Функция RegisterDragDrop регистрирует только одно окно за раз, поэтому его необходимо вызывать для каждого окна приложения, способного принимать удаленные объекты.
Когда мышь проходит по незакрытым частям целевого окна во время операции перетаскивания OLE, функция DoDragDrop вызывает указанный метод IDropTarget::D ragOver для текущего окна. Когда операция удаления фактически выполняется в заданном окне, функция DoDragDrop вызывает IDropTarget::D rop.
Функция RegisterDragDrop также вызывает метод IUnknown::AddRef для указателя IDropTarget .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | ole2.h |
Библиотека | Ole32.lib |
DLL | Ole32.dll |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по