#pragma once
|
#include "stdafx.h"
|
#include "MBGroupChatFrame.h"
|
|
|
|
class AFX_EXT_CLASS CMBAMShareDropTarget :public IDropTarget
|
{
|
public:
|
CMBAMShareDropTarget();
|
virtual ~CMBAMShareDropTarget();
|
protected:
|
int m_nRef;
|
IDropTargetHelper* m_piDropHelper;
|
IDataObject* m_pDataObj;
|
DWORD m_dwAcceptKeyState;
|
public:
|
HWND m_hWnd;
|
protected:
|
// IUnknown
|
virtual HRESULT STDMETHODCALLTYPE QueryInterface(
|
/* [in] */ REFIID riid,
|
/* [iid_is][out] */ __RPC__deref_out void __RPC_FAR *__RPC_FAR *ppvObject);
|
|
|
virtual ULONG STDMETHODCALLTYPE AddRef(void);
|
|
virtual ULONG STDMETHODCALLTYPE Release(void);
|
|
virtual HRESULT STDMETHODCALLTYPE DragEnter(
|
/* [unique][in] */ __RPC__in_opt IDataObject *pDataObj,
|
/* [in] */ DWORD grfKeyState,
|
/* [in] */ POINTL pt,
|
/* [out][in] */ __RPC__inout DWORD *pdwEffect);
|
|
|
virtual HRESULT STDMETHODCALLTYPE DragOver(
|
/* [in] */ DWORD grfKeyState,
|
/* [in] */ POINTL pt,
|
/* [out][in] */ __RPC__inout DWORD *pdwEffect);
|
|
virtual HRESULT STDMETHODCALLTYPE DragLeave(void);
|
private:
|
//ÉèÖÃÍϷŹý³ÌÖеÄÃèÊö ÐÅÏ¢
|
bool SetDropDescription(DROPIMAGETYPE nImageType, LPCWSTR lpszText, LPCWSTR lpszInsert=NULL);
|
virtual void GetInsertMsg(std::wstring &szMessage,std::wstring &szInsert); // µÃµ½²åÈëÐÅÏ¢
|
};
|
|
class AFX_EXT_CLASS CMBAMShareDropTargetImpl: public CMBAMShareDropTarget
|
{
|
public:
|
CMBAMShareDropTargetImpl(CMBGroupChatFrame *pChatFrame);
|
~CMBAMShareDropTargetImpl(void);
|
private:
|
CMBGroupChatFrame *m_pGroupChatFrame;
|
private:
|
virtual void GetInsertMsg(std::wstring &szMessage,std::wstring &szInsert); // µÃµ½²åÈëÐÅÏ¢
|
public:
|
virtual HRESULT STDMETHODCALLTYPE Drop(
|
/* [unique][in] */ __RPC__in_opt IDataObject *pDataObj,
|
/* [in] */ DWORD grfKeyState,
|
/* [in] */ POINTL pt,
|
/* [out][in] */ __RPC__inout DWORD *pdwEffect);
|
|
};
|