ReactOS  0.4.15-dev-3297-g037c744
IDropSourceImpl Class Reference

implementation of IDropSource interface More...

#include <dragdropimpl.h>

Inheritance diagram for IDropSourceImpl:
Collaboration diagram for IDropSourceImpl:

Public Member Functions

 IDropSourceImpl ()
 
virtual ~IDropSourceImpl ()
 
virtual HRESULT STDMETHODCALLTYPE QueryContinueDrag (BOOL fEscapePressed, DWORD grfKeyState)
 
virtual HRESULT STDMETHODCALLTYPE GiveFeedback (DWORD dwEffect)
 
- Public Member Functions inherited from IComSrvBase< IDropSource, IDropSourceImpl >
 STDMETHODIMP_ (ULONG) AddRef()
 
 STDMETHODIMP_ (ULONG) Release()
 
- Public Member Functions inherited from IComSrvQI< IDropSource >
 IComSrvQI (REFIID uuid_base)
 
STDMETHODIMP QueryInterface (REFIID riid, LPVOID *ppv)
 
- Public Member Functions inherited from IUnknown
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 
- Public Member Functions inherited from SimpleComObject
ULONG IncRef ()
 
ULONG DecRef ()
 

Public Attributes

bool m_bDropped
 

Private Types

typedef IComSrvBase< IDropSource, IDropSourceImplsuper
 

Private Attributes

long m_cRefCount
 

Additional Inherited Members

- Public Types inherited from IDropSource
typedef IDropSourceLPDROPSOURCE
 
- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 
- Protected Member Functions inherited from IComSrvBase< IDropSource, IDropSourceImpl >
 IComSrvBase (REFIID uuid_base)
 
- Protected Member Functions inherited from IComSrvQI< IDropSource >
 IComSrvQI ()
 
virtual ~IComSrvQI ()
 
- Protected Member Functions inherited from ComSrvObject
 ComSrvObject ()
 
virtual ~ComSrvObject ()
 
- Protected Attributes inherited from IComSrvQI< IDropSource >
REFIID _uuid_base
 
- Protected Attributes inherited from ComSrvObject
ULONG _ref
 

Detailed Description

implementation of IDropSource interface

Definition at line 50 of file dragdropimpl.h.

Member Typedef Documentation

◆ super

Definition at line 53 of file dragdropimpl.h.

Constructor & Destructor Documentation

◆ IDropSourceImpl()

IDropSourceImpl::IDropSourceImpl ( )
inline

Definition at line 60 of file dragdropimpl.h.

61  : super(IID_IDropSource),
62  m_cRefCount(0),
63  m_bDropped(false)
64  {
65  }
IComSrvBase< IDropSource, IDropSourceImpl > super
Definition: dragdropimpl.h:53

◆ ~IDropSourceImpl()

virtual IDropSourceImpl::~IDropSourceImpl ( )
inlinevirtual

Definition at line 67 of file dragdropimpl.h.

67 {}

Member Function Documentation

◆ GiveFeedback()

STDMETHODIMP IDropSourceImpl::GiveFeedback ( DWORD  dwEffect)
virtual

Implements IDropSource.

Definition at line 244 of file dragdropimpl.cpp.

246 {
248 }
#define DRAGDROP_S_USEDEFAULTCURSORS
Definition: winerror.h:2648

◆ QueryContinueDrag()

STDMETHODIMP IDropSourceImpl::QueryContinueDrag ( BOOL  fEscapePressed,
DWORD  grfKeyState 
)
virtual

Implements IDropSource.

Definition at line 228 of file dragdropimpl.cpp.

231 {
232  if (fEscapePressed)
233  return DRAGDROP_S_CANCEL;
234  if (!(grfKeyState & (MK_LBUTTON|MK_RBUTTON)))
235  {
236  m_bDropped = true;
237  return DRAGDROP_S_DROP;
238  }
239 
240  return S_OK;
241 
242 }
#define MK_LBUTTON
Definition: winuser.h:2343
#define DRAGDROP_S_CANCEL
Definition: winerror.h:2647
#define MK_RBUTTON
Definition: winuser.h:2344
#define S_OK
Definition: intsafe.h:52
#define DRAGDROP_S_DROP
Definition: winerror.h:2646

Member Data Documentation

◆ m_bDropped

bool IDropSourceImpl::m_bDropped

Definition at line 58 of file dragdropimpl.h.

Referenced by QueryContinueDrag().

◆ m_cRefCount

long IDropSourceImpl::m_cRefCount
private

Definition at line 55 of file dragdropimpl.h.


The documentation for this class was generated from the following files: