使用soui开发的mbc,只支持windows版本
w1146869587
2022-01-24 0408576e9da10015ffa9da0079b8c985113ce4b3
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#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);     
 
};