Поделиться через


Интерфейс IDragSourceHelper (shobjidl_core.h)

Предоставляется оболочкой, чтобы позволить приложению указать изображение, которое будет отображаться во время операции перетаскивания оболочки.

Наследование

Интерфейс IDragSourceHelper наследуется от интерфейса IUnknown . IDragSourceHelper также имеет следующие типы элементов:

Методы

Интерфейс IDragSourceHelper содержит следующие методы.

 
IDragSourceHelper::InitializeFromBitmap

Инициализирует диспетчер перетаскивания образов для элемента управления без окон.
IDragSourceHelper::InitializeFromWindow

Инициализирует диспетчер перетаскивания изображений для элемента управления с окном.

Комментарии

Этот интерфейс предоставляется диспетчером перетаскивания образов оболочки. Он не реализуется приложениями.

Используйте этот интерфейс для указания изображения, отображаемого во время операции перетаскивания оболочки. Интерфейсы IDragSourceHelper, IDropTargetHelper и IInitializeWithWindow предоставляются объектом диспетчера перетаскивания, чтобы разрешить интерфейсу IDropTarget использовать пользовательские изображения перетаскивания. Чтобы использовать любой из этих интерфейсов, необходимо создать внутрипроцессный объект диспетчера изображений на сервере, вызвав CoCreateInstance с идентификатором класса (CLSID) CLSID_DragDropHelper. Получение указателей интерфейса с помощью стандартных процедур COM.

Интерфейс IDragSourceHelper предоставляет следующие два способа указать растровое изображение, которое будет использоваться в качестве перетаскиваемого изображения.

  • Элементы управления, имеющие окно, могут зарегистрировать для него сообщение DI_GETDRAGIMAGE окна и инициализировать диспетчер перетаскивания с помощью IDragSourceHelper::InitializeFromWindow. При получении сообщения DI_GETDRAGIMAGE обработчик помещает сведения о растровом изображении перетаскивания в структуру SHDRAGIMAGE , которая передается в качестве значения lParam сообщения.
  • Элементы управления без окон могут инициализировать диспетчер перетаскивания изображений с помощью IDragSourceHelper::InitializeFromBitmap. Этот метод позволяет приложению просто указать растровое изображение.
Примечание Вспомогательный объект перетаскивания вызывает IDataObject::SetData для загрузки частных форматов, используемых для поддержки перекрестных процессов, в объект данных. Позже он получает эти форматы путем вызова IDataObject::GetData. Для поддержки вспомогательного объекта перетаскивания реализации SetData и GetData объекта данных должны иметь возможность принимать и возвращать произвольные закрытые форматы.
 
Дополнительные сведения об операциях перетаскивания оболочки см. в разделе Передача данных оболочки с помощью перетаскивания или буфера обмена.
Примечание До Windows Vista этот интерфейс объявлялся в Shlobj.h.
 

Требования

   
Минимальная версия клиента Windows 2000 Professional, Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header shobjidl_core.h (включая Shobjidl.h)