76 lines
2.3 KiB
C
76 lines
2.3 KiB
C
|
//**********************************************************************
|
||
|
// File name: doc.h
|
||
|
//
|
||
|
// Definition of CSimpleDoc
|
||
|
//
|
||
|
// Copyright (c) 1992 - 1993 Microsoft Corporation. All rights reserved.
|
||
|
//**********************************************************************
|
||
|
|
||
|
#if !defined( _DOC_H_ )
|
||
|
#define _DOC_H_
|
||
|
|
||
|
#include "idt.h"
|
||
|
#include "ids.h"
|
||
|
|
||
|
class CSimpleSite;
|
||
|
class CSimpleApp;
|
||
|
|
||
|
class CSimpleDoc : public IUnknown
|
||
|
{
|
||
|
public:
|
||
|
int m_nCount; // reference count
|
||
|
LPSTORAGE m_lpStorage; // IStorage* pointer for Doc
|
||
|
BOOL m_fModifiedMenu; // is object's verb menu on menu
|
||
|
|
||
|
// Drag/Drop related fields
|
||
|
BOOL m_fRegDragDrop; // is doc registered as drop target?
|
||
|
BOOL m_fLocalDrag; // is doc source of the drag
|
||
|
BOOL m_fLocalDrop; // was doc target of the drop
|
||
|
BOOL m_fCanDropCopy; // is Drag/Drop copy/move possible?
|
||
|
BOOL m_fCanDropLink; // is Drag/Drop link possible?
|
||
|
BOOL m_fDragLeave; // has drag left
|
||
|
BOOL m_fPendingDrag; // LButtonDown--possible drag pending
|
||
|
POINT m_ptButDown; // LButtonDown coordinates
|
||
|
|
||
|
CSimpleSite FAR * m_lpSite;
|
||
|
CSimpleApp FAR * m_lpApp;
|
||
|
|
||
|
HWND m_hDocWnd;
|
||
|
|
||
|
CDropTarget m_DropTarget;
|
||
|
CDropSource m_DropSource;
|
||
|
|
||
|
static CSimpleDoc FAR* Create(CSimpleApp FAR *lpApp, LPRECT lpRect,
|
||
|
HWND hWnd);
|
||
|
|
||
|
void Close(void);
|
||
|
|
||
|
CSimpleDoc();
|
||
|
CSimpleDoc(CSimpleApp FAR *lpApp, HWND hWnd);
|
||
|
~CSimpleDoc();
|
||
|
|
||
|
// IUnknown Interface
|
||
|
STDMETHODIMP QueryInterface(REFIID riid, LPVOID FAR* ppvObj);
|
||
|
STDMETHODIMP_(ULONG) AddRef();
|
||
|
STDMETHODIMP_(ULONG) Release();
|
||
|
|
||
|
void InsertObject(void);
|
||
|
void DisableInsertObject(void);
|
||
|
long lResizeDoc(LPRECT lpRect);
|
||
|
long lAddVerbs(void);
|
||
|
void PaintDoc(HDC hDC);
|
||
|
|
||
|
// Drag/Drop and clipboard support methods
|
||
|
void CopyObjectToClip(void);
|
||
|
BOOL QueryDrag(POINT pt);
|
||
|
DWORD DoDragDrop(void);
|
||
|
void Scroll(DWORD dwScrollDir) { /*...scroll Doc here...*/ }
|
||
|
|
||
|
private:
|
||
|
|
||
|
void FailureNotifyHelper(TCHAR *pszMsg, DWORD dwData);
|
||
|
|
||
|
};
|
||
|
|
||
|
#endif // _DOC_H_
|