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

Windows编程

开发平台:

Visual C++

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