4 * Copyright 1997 Marcus Meissner
5 * Copyright 1998, 1999, 2002 Juergen Schmied
6 * Copyright 2009 Andrew Hill
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
23 #ifndef _DRAGDROPHELPER_H_
24 #define _DRAGDROPHELPER_H_
26 class CDropTargetHelper
:
27 public CComCoClass
<CDropTargetHelper
, &CLSID_DragDropHelper
>,
28 public CComObjectRootEx
<CComMultiThreadModelNoCS
>,
29 public IDragSourceHelper
,
30 public IDropTargetHelper
37 virtual HRESULT WINAPI
InitializeFromBitmap(LPSHDRAGIMAGE pshdi
, IDataObject
*pDataObject
);
38 virtual HRESULT WINAPI
InitializeFromWindow(HWND hwnd
, POINT
*ppt
, IDataObject
*pDataObject
);
40 virtual HRESULT WINAPI
DragEnter (HWND hwndTarget
, IDataObject
* pDataObject
, POINT
* ppt
, DWORD dwEffect
);
41 virtual HRESULT WINAPI
DragLeave();
42 virtual HRESULT WINAPI
DragOver(POINT
*ppt
, DWORD dwEffect
);
43 virtual HRESULT WINAPI
Drop(IDataObject
* pDataObject
, POINT
* ppt
, DWORD dwEffect
);
44 virtual HRESULT WINAPI
Show(BOOL fShow
);
46 DECLARE_REGISTRY_RESOURCEID(IDR_DRAGDROPHELPER
)
47 DECLARE_NOT_AGGREGATABLE(CDropTargetHelper
)
49 DECLARE_PROTECT_FINAL_CONSTRUCT()
51 BEGIN_COM_MAP(CDropTargetHelper
)
52 COM_INTERFACE_ENTRY_IID(IID_IDragSourceHelper
, IDragSourceHelper
)
53 COM_INTERFACE_ENTRY_IID(IID_IDropTargetHelper
, IDropTargetHelper
)
57 #endif /* _DRAGDROPHELPER_H_ */