blob: 78308782e94a5b9dac71a68d3574c4da6378ed16 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 | /* This file is a modification of clcfiledrop.h originally 
 written by Richard Hughes*/
#pragma once
static HWND	hwndCurDrag	 = nullptr;
class CDropTarget: public IDropTarget
{
private:
	unsigned long refCount;
public:
	CDropTarget() : 
		refCount(0)
	{}
	HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, LPVOID *ppvObj);
	ULONG STDMETHODCALLTYPE AddRef();
	ULONG STDMETHODCALLTYPE Release();
	HRESULT STDMETHODCALLTYPE DragOver(DWORD fKeyState, POINTL pt, DWORD *pdwEffect);
	HRESULT STDMETHODCALLTYPE DragEnter(IDataObject *pData, DWORD fKeyState, POINTL pt, DWORD *pdwEffect);
	HRESULT STDMETHODCALLTYPE DragLeave();
	HRESULT STDMETHODCALLTYPE Drop(IDataObject *pData, DWORD fKeyState, POINTL pt, DWORD *pdwEffect);
};
void RegisterFileDropping(HWND hwnd, CDropTarget *pdropTarget);
void UnregisterFileDropping(HWND hwnd);
 |