home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / com / activedocument / doserver / oledoc.h < prev    next >
C/C++ Source or Header  |  1997-05-28  |  3KB  |  92 lines

  1. /**************************************************************************
  2.    THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  3.    ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  4.    THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  5.    PARTICULAR PURPOSE.
  6.  
  7.    Copyright 1997 Microsoft Corporation.  All Rights Reserved.
  8. **************************************************************************/
  9.  
  10. /******************************************************************************
  11.  
  12.    File:          OleDoc.h
  13.    
  14.    Description:   COleDocumentView definitions.
  15.  
  16. ******************************************************************************/
  17.  
  18. #ifndef OLEDOC_H
  19. #define OLEDOC_H
  20.  
  21. #include "DOServer.h"
  22.  
  23. /**************************************************************************
  24.  
  25.    COleDocument class definition
  26.  
  27. **************************************************************************/
  28.  
  29. class COleDocumentView;
  30. class COleObject;
  31. class CDataObject;
  32. class COleInPlaceObject;
  33. class COleInPlaceActiveObject;
  34. class CPersistStorage;
  35. class CPersistFile;
  36.  
  37. class COleDocument : public IOleDocument
  38. {
  39. friend class COleDocumentView;
  40. friend class COleObject;
  41. friend class CDataObject;
  42. friend class COleInPlaceObject;
  43. friend class COleInPlaceActiveObject;
  44. friend class CPersistStorage;
  45.  
  46. private:
  47.    COLORREF                m_Color;
  48.     DWORD                   m_dwRegister;
  49.     LPOLECLIENTSITE         m_pOleClientSite;
  50.    DWORD                   m_ObjRefCount;
  51.    BOOL                    m_fDirty;
  52.    BOOL                    m_fNoScribbleMode;
  53.    LPOLEADVISEHOLDER       m_pOleAdviseHolder;
  54.    BOOL                    m_fCreated;
  55.  
  56.    COleDocumentView        *m_pOleDocView;
  57.    COleObject              *m_pOleObject;
  58.    CDataObject             *m_pDataObject;
  59.    COleInPlaceObject       *m_pOleInPlaceObject;
  60.    COleInPlaceActiveObject *m_pOleInPlaceActiveObject;
  61.    CPersistStorage         *m_pPersistStorage;
  62.    CPersistFile            *m_pPersistFile;
  63.    
  64. public:
  65.    COleDocument();
  66.    ~COleDocument();
  67.    
  68.    //IUnknown methods
  69.    STDMETHODIMP QueryInterface(REFIID, LPVOID*);
  70.    STDMETHODIMP_(DWORD) AddRef();
  71.    STDMETHODIMP_(DWORD) Release();
  72.  
  73.    //IOleDocument methods
  74.    STDMETHODIMP CreateView(IOleInPlaceSite*, IStream*, DWORD, IOleDocumentView**);
  75.    STDMETHODIMP GetDocMiscStatus(DWORD*);
  76.    STDMETHODIMP EnumViews(IEnumOleDocumentViews**, IOleDocumentView**);
  77.  
  78.    //public utility methods
  79.    BOOL RegisterServer(void);
  80.    BOOL CreateFile(HWND);
  81.    BOOL CreateFile(LPTSTR);
  82.    
  83. private:
  84.    STDMETHODIMP GetWindow(HWND*);
  85.    STDMETHODIMP DeactivateUI();
  86.    STDMETHODIMP DeactivateInPlace();
  87.  
  88. friend BOOL CALLBACK ColorHookProc(HWND, UINT, WPARAM, LPARAM);
  89. };
  90.  
  91. #endif   //OLEDOC_H
  92.