Back

// PSLRect.h : Declaration of the CPSLRect

#pragma once
#include "resource.h"       // main symbols
#include "GUIDs.h"
#include "PSLExceptions.h"
#include "ProSysLib_i.h"

class ATL_NO_VTABLE CPSLRect:
   public CComObjectRootEx<CComMultiThreadModel>,
   public CComCoClass<CPSLRect, &CLSID_PSLRect>,
   public IDispatchImpl<IPSLRect, &IID_IPSLRect, &LIBID_ProSysLib, PSL_HiVersion, PSL_LoVersion>,
   public CPSLException<&CLSID_PSLRect, &IID_IPSLRect>
{
public:

   CPSLRect();

   void Initialize(LPRECT lpRect);

BEGIN_COM_MAP(CPSLRect)
   COM_INTERFACE_ENTRY(IPSLRect)
   COM_INTERFACE_ENTRY(IDispatch)
   COM_INTERFACE_ENTRY(ISupportErrorInfo)
END_COM_MAP()

   DECLARE_PROTECT_FINAL_CONSTRUCT()
   HRESULT FinalConstruct();
   void FinalRelease();

////////////////////////////
// Interface Implementation:
////////////////////////////

   STDMETHOD(get_Left)(long * pValue);
   STDMETHOD(get_Top)(long * pValue);
   STDMETHOD(get_Right)(long * pValue);
   STDMETHOD(get_Bottom)(long * pValue);

private:

   RECT m_Rect;
};

Top