droptarget.h

来自「Drive.dll is a dll that creates a drive 」· C头文件 代码 · 共 44 行

H
44
字号
//
// DropTarget.h
//
#ifndef DROPTARGET_H
#define DROPTARGET_H

#include <windows.h>
#include <ole2.h>
#include <shlobj.h>
#include "ShellFolder.h"
#include "EnumIDL.h"

class CDropTarget : public IDropTarget
{
public:
	CDropTarget(CShellFolder*);
	~CDropTarget();

	//IUnknown methods
	STDMETHOD(QueryInterface)(REFIID, LPVOID*);
	STDMETHOD_(ULONG, AddRef)(void);
	STDMETHOD_(ULONG, Release)(void);

	//IDropTarget methods
	STDMETHOD(DragEnter)(LPDATAOBJECT, DWORD, POINTL, LPDWORD);
	STDMETHOD(DragOver)(DWORD, POINTL, LPDWORD);
	STDMETHOD(DragLeave)(VOID);
	STDMETHOD(Drop)(LPDATAOBJECT, DWORD, POINTL, LPDWORD);
private:
	CShellFolder   *m_psfParent;
	CPidlMgr       *m_pPidlMgr;
	IMalloc        *m_pMalloc;
	ULONG          m_uiRefCount;  
private:
	BOOL           m_bAcceptFmt;
	UINT           m_cfPrivateData;
private:
	BOOL queryDrop(DWORD, LPDWORD);
	DWORD getDropEffectFromKeyState(DWORD);
	BOOL doDrop(HGLOBAL, BOOL);
};

#endif //DROPTARGET_H

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?