commands.h

来自「这是VCF框架的代码」· C头文件 代码 · 共 113 行

H
113
字号
// Commands.h : header file//#if !defined(AFX_COMMANDS_H__DBFA0856_1D70_460D_AB15_CB5436CA26F1__INCLUDED_)#define AFX_COMMANDS_H__DBFA0856_1D70_460D_AB15_CB5436CA26F1__INCLUDED_#include "VCFBuilderTypes.h"class CCommands : 	public CComDualImpl<ICommands, &IID_ICommands, &LIBID_VCFBuilder>, 	public CComObjectRoot,	public CComCoClass<CCommands, &CLSID_Commands>{protected:	IApplication* m_pApplication;public:	CCommands();	~CCommands();	void SetApplicationObject(IApplication* m_pApplication);	IApplication* GetApplicationObject() { return m_pApplication; }	void UnadviseFromEvents();	BEGIN_COM_MAP(CCommands)		COM_INTERFACE_ENTRY(IDispatch)		COM_INTERFACE_ENTRY(ICommands)	END_COM_MAP()	DECLARE_NOT_AGGREGATABLE(CCommands)protected:	// This class template is used as the base class for the Application	//  event handler object and the Debugger event handler object,	//  which are declared below.	template <class IEvents, const IID* piidEvents, const GUID* plibid,		class XEvents, const CLSID* pClsidEvents>	class XEventHandler :		public CComDualImpl<IEvents, piidEvents, plibid>,		public CComObjectRoot,		public CComCoClass<XEvents, pClsidEvents>	{	public:		BEGIN_COM_MAP(XEvents)			COM_INTERFACE_ENTRY(IDispatch)			COM_INTERFACE_ENTRY_IID(*piidEvents, IEvents)		END_COM_MAP()		DECLARE_NOT_AGGREGATABLE(XEvents)		void Connect(IUnknown* pUnk)		{ VERIFY(SUCCEEDED(AtlAdvise(pUnk, this, *piidEvents, &m_dwAdvise))); }		void Disconnect(IUnknown* pUnk)		{ AtlUnadvise(pUnk, *piidEvents, m_dwAdvise); }		CCommands* m_pCommands;	protected:		DWORD m_dwAdvise;	};	// This object handles events fired by the Application object	class XApplicationEvents : public XEventHandler<IApplicationEvents, 		&IID_IApplicationEvents, &LIBID_VCFBuilder, 		XApplicationEvents, &CLSID_ApplicationEvents>	{	public:		// IApplicationEvents methods		STDMETHOD(BeforeBuildStart)(THIS);		STDMETHOD(BuildFinish)(THIS_ long nNumErrors, long nNumWarnings);		STDMETHOD(BeforeApplicationShutDown)(THIS);		STDMETHOD(DocumentOpen)(THIS_ IDispatch * theDocument);		STDMETHOD(BeforeDocumentClose)(THIS_ IDispatch * theDocument);		STDMETHOD(DocumentSave)(THIS_ IDispatch * theDocument);		STDMETHOD(NewDocument)(THIS_ IDispatch * theDocument);		STDMETHOD(WindowActivate)(THIS_ IDispatch * theWindow);		STDMETHOD(WindowDeactivate)(THIS_ IDispatch * theWindow);		STDMETHOD(WorkspaceOpen)(THIS);		STDMETHOD(WorkspaceClose)(THIS);		STDMETHOD(NewWorkspace)(THIS);	};	typedef CComObject<XApplicationEvents> XApplicationEventsObj;	XApplicationEventsObj* m_pApplicationEventsObj;	// This object handles events fired by the Application object	class XDebuggerEvents : public XEventHandler<IDebuggerEvents, 		&IID_IDebuggerEvents, &LIBID_VCFBuilder, 		XDebuggerEvents, &CLSID_DebuggerEvents>	{	public:		// IDebuggerEvents method	    STDMETHOD(BreakpointHit)(THIS_ IDispatch * pBreakpoint);	};	typedef CComObject<XDebuggerEvents> XDebuggerEventsObj;	XDebuggerEventsObj* m_pDebuggerEventsObj;public:	STDMETHOD(ActivateDevStdioEnvironment)();	STDMETHOD(ActivateVCFBuilderEnvStandalone)();	STDMETHOD(NewForm)();	STDMETHOD(SaveProjectAs)();	STDMETHOD(SaveProject)();	STDMETHOD(NewProject)();	STDMETHOD(OpenProject)();// ICommands methods	STDMETHOD(ActivateVCFBuilderEnvironment)(THIS);};typedef CComObject<CCommands> CCommandsObj;//{{AFX_INSERT_LOCATION}}// Microsoft Visual C++ will insert additional declarations immediately before the previous line.#endif // !defined(AFX_COMMANDS_H__DBFA0856_1D70_460D_AB15_CB5436CA26F1__INCLUDED)

⌨️ 快捷键说明

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