00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #pragma once
00023
00024 #include <afxole.h>
00025
00026 class CDropTarget
00027 {
00028 public:
00029 CDropTarget() {}
00030
00031 virtual DROPEFFECT OnDragEnter(COleDataObject* pDataObject, DWORD dwKeyState, CPoint point) {return DROPEFFECT_NONE;}
00032 virtual DROPEFFECT OnDragOver(COleDataObject* pDataObject, DWORD dwKeyState, CPoint point) {return DROPEFFECT_NONE;}
00033 virtual BOOL OnDrop(COleDataObject* pDataObject, DROPEFFECT dropEffect, CPoint point) {return FALSE;}
00034 virtual DROPEFFECT OnDropEx(COleDataObject* pDataObject, DROPEFFECT dropDefault, DROPEFFECT dropList, CPoint point) {return (DROPEFFECT)-1;}
00035 virtual void OnDragLeave() {}
00036 virtual DROPEFFECT OnDragScroll(DWORD dwKeyState, CPoint point) {return DROPEFFECT_NONE;}
00037 };
00038
00039
00040
00041 class CFileDropTarget : public COleDropTarget
00042 {
00043
00044
00045 private:
00046 CDropTarget* m_pDropTarget;
00047
00048 public:
00049 CFileDropTarget(CDropTarget* pDropTarget);
00050 virtual ~CFileDropTarget();
00051
00052 protected:
00053 DECLARE_MESSAGE_MAP()
00054
00055 DROPEFFECT OnDragEnter(CWnd* pWnd, COleDataObject* pDataObject, DWORD dwKeyState, CPoint point);
00056 DROPEFFECT OnDragOver(CWnd* pWnd, COleDataObject* pDataObject, DWORD dwKeyState, CPoint point);
00057 BOOL OnDrop(CWnd* pWnd, COleDataObject* pDataObject, DROPEFFECT dropEffect, CPoint point);
00058 DROPEFFECT OnDropEx(CWnd* pWnd, COleDataObject* pDataObject, DROPEFFECT dropDefault, DROPEFFECT dropList, CPoint point);
00059 void OnDragLeave(CWnd* pWnd);
00060 DROPEFFECT OnDragScroll(CWnd* pWnd, DWORD dwKeyState, CPoint point);
00061 };
00062
00063