00001
00002
00004
00005 #if !defined(AFX_DROPTARGET_H__9137BA97_7EB0_4191_8A3E_825307568EE4__INCLUDED_)
00006 #define AFX_DROPTARGET_H__9137BA97_7EB0_4191_8A3E_825307568EE4__INCLUDED_
00007
00008 #if _MSC_VER > 1000
00009 #pragma once
00010 #endif // _MSC_VER > 1000
00011
00012 #include <winsock2.h>
00013 #include <stdexcept>
00014
00015 class DropTarget: public IDropTarget
00016 {
00017 public:
00018 DropTarget(HWND hWnd)throw(std::runtime_error);
00019 virtual ~DropTarget();
00020
00021 STDMETHODIMP QueryInterface(REFIID riid,void** ppv);
00022 STDMETHODIMP_(ULONG)AddRef();
00023 STDMETHODIMP_(ULONG)Release();
00024
00025 STDMETHODIMP DragEnter(IDataObject* pData,DWORD dwKeyState,POINTL pt,DWORD* pEffect);
00026 STDMETHODIMP DragOver(DWORD dwKeyState,POINTL pt,DWORD* pEffect);
00027 STDMETHODIMP DragLeave();
00028 STDMETHODIMP Drop(IDataObject* pData,DWORD dwState,POINTL pt,DWORD* pEffect);
00029
00030 protected:
00031 ULONG m_nRefs;
00032 FORMATETC fmt;
00033 static ULONG outlookFormat;
00034 DWORD dwEffect;
00035 HWND m_hWnd;
00036 };
00037
00038 #endif // !defined(AFX_DROPTARGET_H__9137BA97_7EB0_4191_8A3E_825307568EE4__INCLUDED_)