windows-nt/Source/XPSP1/NT/admin/activec/controls/cic/dispobj.h
2020-09-26 16:20:57 +08:00

71 lines
2.1 KiB
C++

//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1999 - 1999
//
// File: dispobj.h
//
//--------------------------------------------------------------------------
// MMCDisplayObject.h : Declaration of the CMMCDisplayObject
#ifndef __DISPOBJ_H_
#define __DISPOBJ_H_
#include "resource.h" // main symbols
#include "mmc.h"
/////////////////////////////////////////////////////////////////////////////
// CMMCDisplayObject
class ATL_NO_VTABLE CMMCDisplayObject :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CMMCDisplayObject, &CLSID_MMCDisplayObject>,
public IDispatchImpl<IMMCDisplayObject, &IID_IMMCDisplayObject, &LIBID_CICLib>
{
public:
CMMCDisplayObject();
~CMMCDisplayObject();
HRESULT Init (MMC_TASK_DISPLAY_OBJECT * pdo);
// Strange registration. Why does this class has MMCTask registration script here?
// But this object is not in object-map, so ATL wont use this script.
DECLARE_MMC_OBJECT_REGISTRATION(
g_szCicDll,
CLSID_MMCTask,
_T("MMCTask class"),
_T("MMCTask.MMCTask.1"),
_T("MMCTask.MMCTask"))
DECLARE_NOT_AGGREGATABLE(CMMCDisplayObject)
BEGIN_COM_MAP(CMMCDisplayObject)
COM_INTERFACE_ENTRY(IMMCDisplayObject)
COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()
// IMMCDisplayObject
public:
STDMETHOD(get_DisplayObjectType)(long* pVal);
STDMETHOD(get_FontFamilyName )(BSTR* pVal);
STDMETHOD(get_URLtoEOT )(BSTR* pVal);
STDMETHOD(get_SymbolString )(BSTR* pVal);
STDMETHOD(get_MouseOverBitmap )(BSTR* pVal);
STDMETHOD(get_MouseOffBitmap )(BSTR* pVal);
private:
long m_type;
BSTR m_bstrFontFamilyName;
BSTR m_bstrURLtoEOT;
BSTR m_bstrSymbolString;
BSTR m_bstrMouseOffBitmap;
BSTR m_bstrMouseOverBitmap;
// Ensure that default copy constructor & assignment are not used.
CMMCDisplayObject(const CMMCDisplayObject& rhs);
CMMCDisplayObject& operator=(const CMMCDisplayObject& rhs);
};
#endif //__MMCTASK_H_