⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 activescriptsite.h

📁 深入剖析Visual C++编程技术及应用实例
💻 H
字号:
// ActiveScriptSite.h: interface for the EEActiveScriptSite class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_ACTIVESCRIPTSITE_H__0169D897_1CD0_11D3_A57C_00A0C9750ADE__INCLUDED_)
#define AFX_ACTIVESCRIPTSITE_H__0169D897_1CD0_11D3_A57C_00A0C9750ADE__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <afxtempl.h>

#include "activscp.h"
#include "ExposedObject.h"

class ActiveScriptSite : public IActiveScriptSite,
public IActiveScriptSiteWindow  
{
public:
	//构造、析构函数
	ActiveScriptSite();
	virtual ~ActiveScriptSite();
	
public:
	// 实现了IUnknown接口
	virtual HRESULT _stdcall QueryInterface(REFIID riid, void** ppvObject);
	virtual ULONG _stdcall AddRef();
	virtual ULONG _stdcall Release();
	
public:
	// 实现了IActiveScriptSite
	virtual HRESULT _stdcall GetLCID(LCID* plcid);
	virtual HRESULT _stdcall GetItemInfo(LPCOLESTR pstrName, DWORD dwReturnMask, IUnknown** ppunkItem, ITypeInfo** ppti);
	virtual HRESULT _stdcall GetDocVersionString(BSTR* pbstrVersion);
	virtual HRESULT _stdcall OnScriptTerminate(const VARIANT* pvarResult, const EXCEPINFO* pexcepInfo);
	virtual HRESULT _stdcall OnStateChange(SCRIPTSTATE ssScriptState);
	virtual HRESULT _stdcall OnScriptError(IActiveScriptError* pScriptError);
	virtual HRESULT _stdcall OnEnterScript(void);
	virtual HRESULT _stdcall OnLeaveScript(void);
	
	// 实现了IActiveScriptSiteWindow
	virtual HRESULT _stdcall GetWindow(HWND* phWnd);
	virtual HRESULT _stdcall EnableModeless(BOOL fEnable);
public:
	//暴露对象链表
	CArray<ExposedObject*, ExposedObject*>	m_ExposedObjects;
	CStringArray							m_ErrorMessages;
	//脚本的父窗口
	HWND									m_hWnd;
private:
	ULONG	m_dwRef;
};

#endif // !defined(AFX_ACTIVESCRIPTSITE_H__0169D897_1CD0_11D3_A57C_00A0C9750ADE__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -