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 / script.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-03-27  |  2.6 KB  |  85 lines

  1. #if !defined(AFX_SCRIPT_H__5783EE7E_0DC5_11D1_8E2F_00C04FB68D60__INCLUDED_)
  2. #define AFX_SCRIPT_H__5783EE7E_0DC5_11D1_8E2F_00C04FB68D60__INCLUDED_
  3.  
  4. #if _MSC_VER >= 1000
  5. #pragma once
  6. #endif // _MSC_VER >= 1000
  7. // Script.H : header file
  8. //
  9.  
  10. /////////////////////////////////////////////////////////////////////////////
  11. // CScript command target
  12.  
  13. class CScriptManager;
  14.  
  15. class CScript :
  16.    public CCmdTarget
  17. {
  18.     DECLARE_DYNAMIC( CScript )
  19.  
  20. // Attributes
  21. public:
  22.    CScript( CScriptManager* pManager );
  23.    ~CScript();
  24.  
  25. // Operations
  26. public:
  27.    HRESULT AddNamedItem( LPCTSTR pszItemName );
  28.    BOOL FindMacro( LPCTSTR pszMacroName );
  29.    POSITION GetFirstMacroPosition();
  30.    CString GetName();
  31.    CString GetNextMacroName( POSITION& posMacro );
  32.    HRESULT LoadScript( LPCTSTR pszFileName, LPCTSTR pszScriptName );
  33.    HRESULT RunMacro( LPCTSTR pszMacroName );
  34.    void Unload();
  35.  
  36. // Overrides
  37.     // ClassWizard generated virtual function overrides
  38.     //{{AFX_VIRTUAL(CScript)
  39.     //}}AFX_VIRTUAL
  40.  
  41. // Implementation
  42. protected:
  43.    CScriptManager* m_pManager;
  44.    IDispatchPtr m_pDispatch;
  45.    IActiveScriptPtr m_pActiveScript;
  46.    IActiveScriptParsePtr m_pActiveScriptParse;
  47.    CString m_strScriptText;
  48.    CString m_strScriptName;
  49.    CMap< CString, LPCTSTR, DISPID, DISPID > m_mapMacros;
  50.  
  51.     // Generated message map functions
  52.     //{{AFX_MSG(CScript)
  53.         // NOTE - the ClassWizard will add and remove member functions here.
  54.     //}}AFX_MSG
  55.  
  56.     DECLARE_MESSAGE_MAP()
  57.  
  58.    BEGIN_INTERFACE_PART( ActiveScriptSite, IActiveScriptSite )
  59.       STDMETHOD( GetDocVersionString )( BSTR* pbstrVersion );
  60.       STDMETHOD( GetItemInfo )( LPCOLESTR pszName, DWORD dwReturnMask,
  61.          IUnknown** ppItem, ITypeInfo** ppTypeInfo );
  62.       STDMETHOD( GetLCID )( LCID* plcid );
  63.       STDMETHOD( OnEnterScript )();
  64.       STDMETHOD( OnLeaveScript )();
  65.       STDMETHOD( OnScriptError )( IActiveScriptError* pError );
  66.       STDMETHOD( OnScriptTerminate )( const VARIANT* pvarResult,
  67.          const EXCEPINFO* pExcepInfo );
  68.       STDMETHOD( OnStateChange )( SCRIPTSTATE eState );
  69.    END_INTERFACE_PART( ActiveScriptSite )
  70.  
  71.    BEGIN_INTERFACE_PART( ActiveScriptSiteWindow, IActiveScriptSiteWindow )
  72.       STDMETHOD( EnableModeless )( BOOL tEnable );
  73.       STDMETHOD( GetWindow )( HWND* phWindow );
  74.    END_INTERFACE_PART( ActiveScriptSiteWindow )
  75.  
  76.    DECLARE_INTERFACE_MAP()
  77. };
  78.  
  79. /////////////////////////////////////////////////////////////////////////////
  80.  
  81. //{{AFX_INSERT_LOCATION}}
  82. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  83.  
  84. #endif // !defined(AFX_SCRIPT_H__5783EE7E_0DC5_11D1_8E2F_00C04FB68D60__INCLUDED_)
  85.