📄 atlsam.h
字号:
// ATLSam.h : Declaration of the CATLSam
#ifndef __ATLSAM_H_
#define __ATLSAM_H_
#include "resource.h" // main symbols
/////////////////////////////////////////////////////////////////////////////
// CATLSam
class ATL_NO_VTABLE CATLSam :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CATLSam, &CLSID_ATLSam>,
public CComControl<CATLSam>,
public IDispatchImpl<IATLSam, &IID_IATLSam, &LIBID_SAM_2Lib>,
public IProvideClassInfo2Impl<&CLSID_ATLSam, NULL, &LIBID_SAM_2Lib>,
public IPersistStreamInitImpl<CATLSam>,
public IPersistStorageImpl<CATLSam>,
public IQuickActivateImpl<CATLSam>,
public IOleControlImpl<CATLSam>,
public IOleObjectImpl<CATLSam>,
public IOleInPlaceActiveObjectImpl<CATLSam>,
public IViewObjectExImpl<CATLSam>,
public IOleInPlaceObjectWindowlessImpl<CATLSam>,
public IDataObjectImpl<CATLSam>,
public ISupportErrorInfo,
public IConnectionPointContainerImpl<CATLSam>,
public ISpecifyPropertyPagesImpl<CATLSam>
{
public:
char* m_pszCaption;
CATLSam()
{
m_pszCaption=new char[20];
strcpy(m_pszCaption,"默认字符");
}
DECLARE_REGISTRY_RESOURCEID(IDR_ATLSAM)
BEGIN_COM_MAP(CATLSam)
COM_INTERFACE_ENTRY(IATLSam)
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(CATLSam)
// Example entries
// PROP_ENTRY("Property Description", dispid, clsid)
PROP_PAGE(CLSID_StockColorPage)
END_PROPERTY_MAP()
BEGIN_CONNECTION_POINT_MAP(CATLSam)
END_CONNECTION_POINT_MAP()
BEGIN_MSG_MAP(CATLSam)
MESSAGE_HANDLER(WM_PAINT, OnPaint)
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;
}
// IATLSam
public:
STDMETHOD(GetCaptionLength)(/*[out]*/long* lLen);
STDMETHOD(SetCaption)(/*[in]*/BSTR pszCaption);
HRESULT OnDraw(ATL_DRAWINFO& di);
};
#endif //__ATLSAM_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -