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

📄 atlcontrolnowin.h

📁 用VC开发activex 一书实例1 ATLControl
💻 H
字号:
// ATLControlNoWin.h : Declaration of the CATLControlNoWin

#ifndef __ATLCONTROLNOWIN_H_
#define __ATLCONTROLNOWIN_H_

#include "resource.h"       // main symbols


/////////////////////////////////////////////////////////////////////////////
// CATLControlNoWin
class ATL_NO_VTABLE CATLControlNoWin : 
	public CComObjectRootEx<CComObjectThreadModel>,
	public CComCoClass<CATLControlNoWin, &CLSID_ATLControlNoWin>,
	public CComControl<CATLControlNoWin>,
	public IDispatchImpl<IATLControlNoWin, &IID_IATLControlNoWin, &LIBID_ATLCONTROLLib>,
	public IProvideClassInfo2Impl<&CLSID_ATLControlNoWin, NULL, &LIBID_ATLCONTROLLib>,
	public IPersistStreamInitImpl<CATLControlNoWin>,
	public IPersistStorageImpl<CATLControlNoWin>,
	public IQuickActivateImpl<CATLControlNoWin>,
	public IOleControlImpl<CATLControlNoWin>,
	public IOleObjectImpl<CATLControlNoWin>,
	public IOleInPlaceActiveObjectImpl<CATLControlNoWin>,
	public IViewObjectExImpl<CATLControlNoWin>,
	public IOleInPlaceObjectWindowlessImpl<CATLControlNoWin>,
	public IDataObjectImpl<CATLControlNoWin>,
	public ISupportErrorInfo,
	public IConnectionPointContainerImpl<CATLControlNoWin>,
	public ISpecifyPropertyPagesImpl<CATLControlNoWin>
{
public:
	CATLControlNoWin()
	{
	}

DECLARE_REGISTRY_RESOURCEID(IDR_ATLCONTROLNOWIN)

BEGIN_COM_MAP(CATLControlNoWin)
	COM_INTERFACE_ENTRY(IATLControlNoWin)
	COM_INTERFACE_ENTRY(IDispatch)
	COM_INTERFACE_ENTRY_IMPL(IViewObjectEx)
	COM_INTERFACE_ENTRY_IMPL_IID(IID_IViewObject2, IViewObjectEx)
	COM_INTERFACE_ENTRY_IMPL_IID(IID_IViewObject, IViewObjectEx)
	COM_INTERFACE_ENTRY_IMPL(IOleInPlaceObjectWindowless)
	COM_INTERFACE_ENTRY_IMPL_IID(IID_IOleInPlaceObject, IOleInPlaceObjectWindowless)
	COM_INTERFACE_ENTRY_IMPL_IID(IID_IOleWindow, IOleInPlaceObjectWindowless)
	COM_INTERFACE_ENTRY_IMPL(IOleInPlaceActiveObject)
	COM_INTERFACE_ENTRY_IMPL(IOleControl)
	COM_INTERFACE_ENTRY_IMPL(IOleObject)
	COM_INTERFACE_ENTRY_IMPL(IQuickActivate)
	COM_INTERFACE_ENTRY_IMPL(IPersistStorage)
	COM_INTERFACE_ENTRY_IMPL(IPersistStreamInit)
	COM_INTERFACE_ENTRY_IMPL(ISpecifyPropertyPages)
	COM_INTERFACE_ENTRY_IMPL(IDataObject)
	COM_INTERFACE_ENTRY(IProvideClassInfo)
	COM_INTERFACE_ENTRY(IProvideClassInfo2)
	COM_INTERFACE_ENTRY(ISupportErrorInfo)
	COM_INTERFACE_ENTRY_IMPL(IConnectionPointContainer)
END_COM_MAP()

BEGIN_PROPERTY_MAP(CATLControlNoWin)
	// PROP_ENTRY("Description", dispid, clsid)
	PROP_PAGE(CLSID_CColorPropPage)
END_PROPERTY_MAP()


BEGIN_CONNECTION_POINT_MAP(CATLControlNoWin)
END_CONNECTION_POINT_MAP()


BEGIN_MSG_MAP(CATLControlNoWin)
	MESSAGE_HANDLER(WM_PAINT, OnPaint)
	MESSAGE_HANDLER(WM_GETDLGCODE, OnGetDlgCode)
	MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
	MESSAGE_HANDLER(WM_KILLFOCUS, OnKillFocus)
END_MSG_MAP()


// ISupportsErrorInfo
	STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);

// IViewObjectEx
	STDMETHOD(GetViewStatus)(DWORD* pdwStatus)
	{
		ATLTRACE(_T("IViewObjectExImpl::GetViewStatus\n"));
		*pdwStatus = VIEWSTATUS_SOLIDBKGND | VIEWSTATUS_OPAQUE;
		return S_OK;
	}

// IATLControlNoWin
public:
	HRESULT OnDraw(ATL_DRAWINFO& di);

};

#endif //__ATLCONTROLNOWIN_H_

⌨️ 快捷键说明

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