IDragSourceHelper 接口 (shobjidl_core.h)
由 Shell 公开,允许应用程序指定在 Shell 拖放操作期间显示的图像。
继承
IDragSourceHelper 接口继承自 IUnknown 接口。 IDragSourceHelper 还具有以下类型的成员:
方法
IDragSourceHelper 接口具有这些方法。
IDragSourceHelper::InitializeFromBitmap 初始化无窗口控件的拖动图像管理器。 |
IDragSourceHelper::InitializeFromWindow 使用窗口初始化控件的拖动图像管理器。 |
注解
此接口由 Shell 的拖动图像管理器公开。 它不是由应用程序实现的。
使用此接口指定在 Shell 拖放操作期间显示的图像。 拖动图像管理器对象公开 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 专业版、Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | shobjidl_core.h (包括 Shobjidl.h) |