IVsObjectList2.DoDragDrop(UInt32, IDataObject, UInt32, UInt32) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
请求给定的列表项处理拖放操作。
public:
int DoDragDrop(System::UInt32 index, Microsoft::VisualStudio::OLE::Interop::IDataObject ^ pDataObject, System::UInt32 grfKeyState, [Runtime::InteropServices::Out] System::UInt32 % pdwEffect);
int DoDragDrop(unsigned int index, Microsoft::VisualStudio::OLE::Interop::IDataObject const & pDataObject, unsigned int grfKeyState, [Runtime::InteropServices::Out] unsigned int & pdwEffect);
public int DoDragDrop (uint index, Microsoft.VisualStudio.OLE.Interop.IDataObject pDataObject, uint grfKeyState, out uint pdwEffect);
abstract member DoDragDrop : uint32 * Microsoft.VisualStudio.OLE.Interop.IDataObject * uint32 * uint32 -> int
Public Function DoDragDrop (index As UInteger, pDataObject As IDataObject, grfKeyState As UInteger, ByRef pdwEffect As UInteger) As Integer
参数
- index
- UInt32
中指定感兴趣的列表项的索引。
- pDataObject
- IDataObject
中指向要删除的的指针 IDataObject 。
- grfKeyState
- UInt32
中键盘和鼠标修改键的当前状态。
- pdwEffect
- UInt32
[in,out]输入时,所请求的效果。 输出时,您的对象列表所允许的效果。
返回
如果该方法成功,则它会返回 S_OK。 如果该方法失败,则会返回错误代码。
注解
COM 签名
从 vsshell80:
[C++]
HRESULT IVsObjectList2::DoDragDrop(
[in] ULONG Index,
[in] IDataObject * pDataObject,
[in] DWORD grfKeyState,
[in, out]DWORD * pdwEffect
);
环境调用 QueryDragDrop 来查看你的对象列表是否支持拖放操作。 如果你返回指示你确实支持所请求操作的调用,并且用户 pDataObject 通过释放鼠标按钮进行删除,则环境将调用 DoDragDrop 。 然后,必须处理请求的操作并返回中的效果 pdwEffect 。
此方法与标准 COM 方法非常相似 Drop 。 的值 grfKeyState 可以是下列任意数量的按位 "or" 组合: MK_CONTROL、MK_SHIFT、MK_ALT、MK_LBUTTON、MK_MBUTTON 和 MK_RBUTTON。 的值 pdwEffect 取自 DROPEFFECT 枚举。