Функция SHDoDragDrop (shlobj_core.h)
Выполняет операцию перетаскивания. Поддерживает создание источника перетаскивания по запросу, а также перетаскивание изображений.
Синтаксис
SHSTDAPI SHDoDragDrop(
[in] HWND hwnd,
[in] IDataObject *pdata,
[in] IDropSource *pdsrc,
[in] DWORD dwEffect,
[out] DWORD *pdwEffect
);
Параметры
[in] hwnd
Тип: HWND
Дескриптор окна, используемого для получения изображения перетаскивания. Это значение может иметь значение NULL. Дополнительные сведения см. в разделе Примечания.
[in] pdata
Тип: IDataObject*
Указатель на интерфейс IDataObject для объекта данных, содержащего перетаскиваемые данные.
[in] pdsrc
Тип: IDropSource*
Указатель на реализацию интерфейса IDropSource , который используется для связи с источником во время операции перетаскивания.
В Windows Vista, если это значение равно NULL, оболочка создает исходный объект для удаления.
[in] dwEffect
Тип: DWORD
Эффекты, которые источник допускает в операции перетаскивания. Наиболее важным эффектом является то, допускает ли операция перетаскивания перемещение. Список возможных значений см. в разделе DROPEFFECT.
[out] pdwEffect
Тип: DWORD*
Указатель на значение, указывающее, как операция перетаскивания повлияла на исходные данные. Параметр pdwEffect задается только в том случае, если операция не отменена. Список возможных значений см. в разделе DROPEFFECT.
Возвращаемое значение
Тип: HRESULT
Эта функция поддерживает стандартное возвращаемое значение E_OUTOFMEMORY, а также следующие значения:
Код возврата | Описание |
---|---|
|
Операция перетаскивания прошла успешно. |
|
Операция перетаскивания была отменена. |
|
Произошла непредвиденная ошибка. |
Комментарии
Начиная с Windows Vista, если изображение перетаскивания еще не хранится в объекте данных pdtobj и изображение перетаскивания невозможно получить из окна, указанного hwnd, оболочка предоставляет универсальное изображение перетаскивания. Невозможно получить изображение перетаскивания из указанного окна, так как hwnd имеет значение NULL или указанное окно не поддерживает сообщение DI_GETDRAGIMAGE.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | shlobj_core.h (включая Shlobj.h) |
Библиотека | Shell32.lib |
DLL | Shell32.dll (версия 6.0 или более поздняя) |
Набор API | ext-ms-win-shell-shell32-l1-2-1 (представлено в Windows 10 версии 10.0.10240) |