home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / mfc / ole / tstcon / tcdoc.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-03-27  |  5.6 KB  |  164 lines

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