// CntrItem.h : interface of the CTestProgCntrItem class // #pragma once class CTestProgDoc; class CTestProgView; class CTestProgCntrItem : public COleClientItem { DECLARE_SERIAL(CTestProgCntrItem) // Constructors public: CTestProgCntrItem(CTestProgDoc* pContainer = NULL); // Note: pContainer is allowed to be NULL to enable IMPLEMENT_SERIALIZE // IMPLEMENT_SERIALIZE requires the class have a constructor with // zero arguments. Normally, OLE items are constructed with a // non-NULL document pointer // Attributes public: CTestProgDoc* GetDocument() { return reinterpret_cast(COleClientItem::GetDocument()); } CTestProgView* GetActiveView() { return reinterpret_cast(COleClientItem::GetActiveView()); } public: virtual void OnChange(OLE_NOTIFICATION wNotification, DWORD dwParam); virtual void OnActivate(); protected: virtual void OnGetItemPosition(CRect& rPosition); virtual void OnDeactivateUI(BOOL bUndoable); virtual BOOL OnChangeItemPosition(const CRect& rectPos); virtual BOOL CanActivate(); // Implementation public: ~CTestProgCntrItem(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif virtual void Serialize(CArchive& ar); };