Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
2.3 KiB

  1. //**********************************************************************
  2. // File name: doc.h
  3. //
  4. // Definition of CSimpleDoc
  5. //
  6. // Copyright (c) 1992 - 1993 Microsoft Corporation. All rights reserved.
  7. //**********************************************************************
  8. #if !defined( _DOC_H_ )
  9. #define _DOC_H_
  10. #include "idt.h"
  11. #include "ids.h"
  12. class CSimpleSite;
  13. class CSimpleApp;
  14. class CSimpleDoc : public IUnknown
  15. {
  16. public:
  17. int m_nCount; // reference count
  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. private:
  55. void FailureNotifyHelper(TCHAR *pszMsg, DWORD dwData);
  56. };
  57. #endif // _DOC_H_