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

Windows编程

开发平台:

Visual C++

  1. // CTestContainer98Doc.h : interface of the CTestContainer98Doc class
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_CTESTCONTAINER98DOC_H__19818508_B837_11D0_8DF1_00C04FB68D60__INCLUDED_)
  5. #define AFX_CTESTCONTAINER98DOC_H__19818508_B837_11D0_8DF1_00C04FB68D60__INCLUDED_
  6. #if _MSC_VER >= 1000
  7. #pragma once
  8. #endif // _MSC_VER >= 1000
  9. const LPARAM HINT_UPDATE_WINDOW = 0;
  10. const LPARAM HINT_UPDATE_ITEM = 1;
  11. class CTestContainer98Doc : public COleDocument
  12. {
  13. protected: // create from serialization only
  14. CTestContainer98Doc();
  15. DECLARE_DYNCREATE(CTestContainer98Doc)
  16. // Attributes
  17. public:
  18.    void BringToFront( CDocItem* pItem );
  19.    void SendToBack( CDocItem* pItem );
  20.    POSITION FindItem( CDocItem* pItem ) const;
  21.    POSITION GetTailPosition() const;
  22.    CDocItem* GetPrevItem( POSITION& pos ) const;
  23.    BOOL GetUserMode() const;
  24.    void SetUserMode( BOOL tUserMode );
  25. // Operations
  26. public:
  27.    int AddAmbientProperty( DISPID dispid, LPCTSTR pszName, const VARIANT& var,
  28.   int vti );
  29.    CTestContainer98Item* AddControl( REFCLSID clsid, LPCTSTR pszName,
  30.   REFIID iidPersistanceMedium = IID_NULL, IUnknown* pPersistanceMedium =
  31.   NULL );
  32.    void CreateUniqueItemName( CTestContainer98Item* pItem, LPCTSTR pszBaseName,
  33.   CString& strUniqueName );
  34. CAmbientProperty* FindAmbientProperty( DISPID dispid );
  35.    CAmbientProperty* FindAmbientProperty( LPCOLESTR pszName );
  36.    CAmbientProperty* GetAmbientProperty( int iProp );
  37.    int GetNumAmbientProperties() const;
  38.    CEdit* GetOutputEditControl();
  39.    CTestContainer98View* GetView() const;
  40.    BOOL CanWindowlessActivate() const;
  41.    BOOL HonorIgnoreActivateWhenVisible() const;
  42.    BOOL UseIPointerInactive() const;
  43.    BOOL UseSlowDrawing() const;
  44.    BOOL UseTwoPassDrawing() const;
  45.    BOOL UseQuickActivation() const;
  46.    BOOL SupportsInterface( REFIID iid );
  47.    BOOL SupportsService( REFGUID sid );
  48.    void PreCloseFrame( CFrameWnd* pFrame );
  49.    CLog* GetLog() const;
  50.    void SetItemTabOrder( CTestContainer98Item* pItem, int iTabOrder );
  51.    CTestContainer98Item* GetNextTabItem( CTestContainer98Item* pItem ) const;
  52. // Overrides
  53. // ClassWizard generated virtual function overrides
  54. //{{AFX_VIRTUAL(CTestContainer98Doc)
  55. public:
  56. virtual BOOL OnNewDocument();
  57. virtual void Serialize(CArchive& ar);
  58. virtual BOOL CanCloseFrame(CFrameWnd* pFrame);
  59. virtual BOOL OnSaveDocument(LPCTSTR lpszPathName);
  60. virtual void AddItem(CDocItem* pItem);
  61. virtual void DeleteContents();
  62. virtual void RemoveItem(CDocItem* pItem);
  63. virtual BOOL OnOpenDocument(LPCTSTR lpszPathName);
  64. //}}AFX_VIRTUAL
  65. // Implementation
  66. public:
  67. virtual ~CTestContainer98Doc();
  68. #ifdef _DEBUG
  69. virtual void AssertValid() const;
  70. virtual void Dump(CDumpContext& dc) const;
  71. #endif
  72. protected:
  73.    CString m_strDirectory;
  74.    CTypedPtrArray< CObArray, CAmbientProperty* > m_apAmbientProperties;
  75.    CFontHolder* m_pFontHolder;
  76.    FONTDESC m_descFont;
  77.    BOOL m_tUserMode;
  78.    BOOL m_tFreezeEvents;
  79.    BOOL m_tAllowWindowless;
  80.    BOOL m_tTwoPassDrawing;
  81.    BOOL m_tSlowDrawing;
  82.    BOOL m_tHonorIgnoreActivateWhenVisible;
  83.    BOOL m_tUseIPointerInactive;
  84.    BOOL m_tUseQuickActivation;
  85.    BOOL m_tIOleInPlaceSiteWindowless;
  86.    BOOL m_tIOleInPlaceSiteEx;
  87.    BOOL m_tIAdviseSinkEx;
  88.    BOOL m_tSBindHost;
  89.    IStreamPtr m_pStream;
  90.    IStoragePtr m_pStorage;
  91.    CLog* m_pLog;
  92.    CTypedPtrList< CObList, CTestContainer98Item* > m_lpTabOrder;
  93.    IActiveScriptPtr m_pActiveScript;
  94.    IActiveScriptParsePtr m_pActiveScriptParse;
  95.    CScriptManager* m_pScriptManager;
  96. // Generated message map functions
  97. protected:
  98.    void Cleanup();
  99.    void BroadcastAmbientPropertyChange( DISPID dispid );
  100.    void FireOnNewControl( IDispatch* pControl );
  101.    CScriptManager* GetScriptManager( BOOL tCreate = TRUE );
  102. HRESULT InitDefaultAmbientProperties();
  103.    BOOL Initialize();
  104.    HRESULT InitScriptManager();
  105.    BOOL GetDispatchIID( IID* piid );
  106. //{{AFX_MSG(CTestContainer98Doc)
  107. afx_msg void OnOptionsFreezeEvents();
  108. afx_msg void OnUpdateOptionsFreezeEvents(CCmdUI* pCmdUI);
  109. afx_msg void OnOptionsSlowDrawing();
  110. afx_msg void OnUpdateOptionsSlowDrawing(CCmdUI* pCmdUI);
  111. afx_msg void OnOptionsTwoPassDrawing();
  112. afx_msg void OnUpdateOptionsTwoPassDrawing(CCmdUI* pCmdUI);
  113. afx_msg void OnOptionsLogging();
  114. afx_msg void OnContainerOptions();
  115. afx_msg void OnContainerAmbientProperties();
  116. afx_msg void OnContainerInfo();
  117. afx_msg void OnEditDeleteAll();
  118. afx_msg void OnUpdateEditDeleteAll(CCmdUI* pCmdUI);
  119. afx_msg void OnContainerTabOrder();
  120. afx_msg void OnToolsMacros();
  121. afx_msg void OnRunMacro();
  122. //}}AFX_MSG
  123. DECLARE_MESSAGE_MAP()
  124.    DECLARE_OLETYPELIB( CTestContainer98Doc )
  125.    BEGIN_CONNECTION_PART( CTestContainer98Doc, TC98CP )
  126.   CONNECTION_IID( __uuidof( ITestContainer98Events ) )
  127.    END_CONNECTION_PART( TC98CP )
  128.    DECLARE_CONNECTION_MAP()
  129. // Generated OLE dispatch map functions
  130. //{{AFX_DISPATCH(CTestContainer98Doc)
  131. afx_msg LPDISPATCH GetPrimarySelection();
  132. afx_msg void SetPrimarySelection(LPDISPATCH newValue);
  133. afx_msg LPDISPATCH FindControl(LPCTSTR pszName);
  134. afx_msg void Log(LPCTSTR pszMessage);
  135. afx_msg LPDISPATCH InsertControl(LPCTSTR pszProgID, LPCTSTR pszName);
  136. //}}AFX_DISPATCH
  137. DECLARE_DISPATCH_MAP()
  138. DECLARE_INTERFACE_MAP()
  139.    friend class CTestContainer98Item;
  140. };
  141. /////////////////////////////////////////////////////////////////////////////
  142. //{{AFX_INSERT_LOCATION}}
  143. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  144. #endif // !defined(AFX_CTESTCONTAINER98DOC_H__19818508_B837_11D0_8DF1_00C04FB68D60__INCLUDED_)