DOC.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:2k
源码类别:

Windows编程

开发平台:

Visual C++

  1. //**********************************************************************
  2. // File name: doc.h
  3. //
  4. //      Definition of CSimpleDoc
  5. //
  6. // Copyright (c) 1992 - 1997 Microsoft Corporation. All rights reserved.
  7. //**********************************************************************
  8. #if !defined( _DOC_H_ )
  9. #define _DOC_H_
  10. #include "idt.h"
  11. #include "ids.h"
  12. #include <stablize.h>
  13. class CSimpleSite;
  14. class CSimpleApp;
  15. class CSimpleDoc : public IUnknown, public CSafeRefCount
  16. {
  17. public:
  18.         LPSTORAGE       m_lpStorage;        // IStorage* pointer for Doc
  19.         BOOL            m_fModifiedMenu;    // is object's verb menu on menu
  20.         // Drag/Drop related fields
  21.         BOOL            m_fRegDragDrop;     // is doc registered as drop target?
  22.         BOOL            m_fLocalDrag;       // is doc source of the drag
  23.         BOOL            m_fLocalDrop;       // was doc target of the drop
  24.         BOOL            m_fCanDropCopy;     // is Drag/Drop copy/move possible?
  25.         BOOL            m_fCanDropLink;     // is Drag/Drop link possible?
  26.         BOOL            m_fDragLeave;       // has drag left
  27.         BOOL            m_fPendingDrag;     // LButtonDown--possible drag pending
  28.         POINT           m_ptButDown;        // LButtonDown coordinates
  29.         CSimpleSite FAR * m_lpSite;
  30.         CSimpleApp FAR * m_lpApp;
  31.         HWND m_hDocWnd;
  32.         CDropTarget m_DropTarget;
  33.         CDropSource m_DropSource;
  34.         static CSimpleDoc FAR* Create(CSimpleApp FAR *lpApp, LPRECT lpRect,
  35.                         HWND hWnd);
  36.         void Close(void);
  37.         CSimpleDoc();
  38.         CSimpleDoc(CSimpleApp FAR *lpApp, HWND hWnd);
  39.         ~CSimpleDoc();
  40.         // IUnknown Interface
  41.         STDMETHODIMP QueryInterface(REFIID riid, LPVOID FAR* ppvObj);
  42.         STDMETHODIMP_(ULONG) AddRef();
  43.         STDMETHODIMP_(ULONG) Release();
  44.         void InsertObject(void);
  45.         void DisableInsertObject(void);
  46.         long lResizeDoc(LPRECT lpRect);
  47.         long lAddVerbs(void);
  48.         void PaintDoc(HDC hDC);
  49.         // Drag/Drop and clipboard support methods
  50.         void CopyObjectToClip(void);
  51.         BOOL QueryDrag(POINT pt);
  52.         DWORD DoDragDrop(void);
  53.         void Scroll(DWORD dwScrollDir) { /*...scroll Doc here...*/ }
  54. };
  55. #endif  // _DOC_H_