ReactOS 0.4.16-dev-1276-g70732b0
CMyDocsDropHandler.hpp
Go to the documentation of this file.
1/*
2 * PROJECT: mydocs
3 * LICENSE: LGPL-2.1+ (https://spdx.org/licenses/LGPL-2.1+)
4 * PURPOSE: MyDocs implementation
5 * COPYRIGHT: Copyright 2020 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
6 */
7
8#pragma once
9
10#include "resource.h"
11
13 public CComCoClass<CMyDocsDropHandler, &CLSID_MyDocsDropHandler>,
14 public CComObjectRootEx<CComMultiThreadModelNoCS>,
15 public IDropTarget,
16 public IPersistFile
17{
18public:
21
22 // IDropTarget
23 STDMETHODIMP DragEnter(IDataObject *pDataObject, DWORD dwKeyState,
24 POINTL pt, DWORD *pdwEffect) override;
25 STDMETHODIMP DragOver(DWORD dwKeyState, POINTL pt, DWORD *pdwEffect) override;
26 STDMETHODIMP DragLeave() override;
27 STDMETHODIMP Drop(IDataObject *pDataObject, DWORD dwKeyState, POINTL pt,
28 DWORD *pdwEffect) override;
29
30 // IPersist
31 STDMETHODIMP GetClassID(CLSID *lpClassId) override;
32
33 // IPersistFile
34 STDMETHODIMP GetCurFile(LPOLESTR *ppszFileName) override;
35 STDMETHODIMP IsDirty() override;
36 STDMETHODIMP Load(LPCOLESTR pszFileName, DWORD dwMode) override;
37 STDMETHODIMP Save(LPCOLESTR pszFileName, BOOL fRemember) override;
38 STDMETHODIMP SaveCompleted(LPCOLESTR pszFileName) override;
39
42
44
48 COM_INTERFACE_ENTRY_IID(IID_IDropTarget, IDropTarget)
50};
#define STDMETHODIMP
Definition: basetyps.h:43
STDMETHODIMP SaveCompleted(LPCOLESTR pszFileName) override
STDMETHODIMP DragOver(DWORD dwKeyState, POINTL pt, DWORD *pdwEffect) override
STDMETHODIMP IsDirty() override
STDMETHODIMP GetClassID(CLSID *lpClassId) override
STDMETHODIMP GetCurFile(LPOLESTR *ppszFileName) override
STDMETHODIMP Save(LPCOLESTR pszFileName, BOOL fRemember) override
STDMETHODIMP DragLeave() override
STDMETHODIMP Drop(IDataObject *pDataObject, DWORD dwKeyState, POINTL pt, DWORD *pdwEffect) override
STDMETHODIMP Load(LPCOLESTR pszFileName, DWORD dwMode) override
STDMETHODIMP DragEnter(IDataObject *pDataObject, DWORD dwKeyState, POINTL pt, DWORD *pdwEffect) override
#define IDR_MYDOCS
Definition: resource.h:11
#define pt(x, y)
Definition: drawing.c:79
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
#define BEGIN_COM_MAP(x)
Definition: atlcom.h:581
#define COM_INTERFACE_ENTRY_IID(iid, x)
Definition: atlcom.h:601
#define DECLARE_PROTECT_FINAL_CONSTRUCT()
Definition: atlcom.h:679
#define DECLARE_NOT_AGGREGATABLE(x)
Definition: atlcom.h:651
#define DECLARE_REGISTRY_RESOURCEID(x)
Definition: atlcom.h:645
#define END_COM_MAP()
Definition: atlcom.h:592
static LPOLESTR
Definition: stg_prop.c:27
const GUID IID_IPersistFile
const GUID IID_IPersist
Definition: proxy.cpp:14
WORD WORD PSZ PSZ pszFileName
Definition: vdmdbg.h:44