www.pudn.com > testOCX2.rar > CntrItem.cpp


//-------------------------------------------------------------------- 
// 
//	QRmakerPro.ocx Sample Program 
// 
//  Copyright (C) DENSO CORPORATION 2000-2004 all rights reserved 
//-------------------------------------------------------------------- 
// CntrItem.cpp : CTestOCX2CntrItem  
// 
 
#include "stdafx.h" 
#include "testOCX2.h" 
 
#include "testOCX2Doc.h" 
#include "testOCX2View.h" 
#include "CntrItem.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CTestOCX2CntrItem  
 
IMPLEMENT_SERIAL(CTestOCX2CntrItem, COleClientItem, 0) 
 
CTestOCX2CntrItem::CTestOCX2CntrItem(CTestOCX2Doc* pContainer) 
	: COleClientItem(pContainer) 
{ 
	//  
	 
} 
 
CTestOCX2CntrItem::~CTestOCX2CntrItem() 
{ 
	//  
	 
} 
 
void CTestOCX2CntrItem::OnChange(OLE_NOTIFICATION nCode, DWORD dwParam) 
{ 
	ASSERT_VALID(this); 
 
	COleClientItem::OnChange(nCode, dwParam); 
 
	//  
 
	GetDocument()->UpdateAllViews(NULL); 
		// 
} 
 
BOOL CTestOCX2CntrItem::OnChangeItemPosition(const CRect& rectPos) 
{ 
	ASSERT_VALID(this); 
 
	// 
 
	if (!COleClientItem::OnChangeItemPosition(rectPos)) 
		return FALSE; 
 
	//  
	return TRUE; 
} 
 
void CTestOCX2CntrItem::OnGetItemPosition(CRect& rPosition) 
{ 
	ASSERT_VALID(this); 
 
	// 
 
	rPosition.SetRect(10, 10, 210, 210); 
} 
 
void CTestOCX2CntrItem::OnActivate() 
{ 
    //  
    CTestOCX2View* pView = GetActiveView(); 
    ASSERT_VALID(pView); 
    COleClientItem* pItem = GetDocument()->GetInPlaceActiveItem(pView); 
    if (pItem != NULL && pItem != this) 
        pItem->Close(); 
     
    COleClientItem::OnActivate(); 
} 
 
void CTestOCX2CntrItem::OnDeactivateUI(BOOL bUndoable) 
{ 
	COleClientItem::OnDeactivateUI(bUndoable); 
 
    //  
    DWORD dwMisc = 0; 
    m_lpObject->GetMiscStatus(GetDrawAspect(), &dwMisc); 
    if (dwMisc & OLEMISC_INSIDEOUT) 
        DoVerb(OLEIVERB_HIDE, NULL); 
} 
 
void CTestOCX2CntrItem::Serialize(CArchive& ar) 
{ 
	ASSERT_VALID(this); 
 
	//  
	COleClientItem::Serialize(ar); 
 
	//  
	if (ar.IsStoring()) 
	{ 
		// 
	} 
	else 
	{ 
		//  
	} 
} 
 
BOOL CTestOCX2CntrItem::CanActivate() 
{ 
	//  
	CTestOCX2Doc* pDoc = GetDocument(); 
	ASSERT_VALID(pDoc); 
	ASSERT(pDoc->IsKindOf(RUNTIME_CLASS(COleServerDoc))); 
	if (pDoc->IsInPlaceActive()) 
		return FALSE; 
 
	//  
	return COleClientItem::CanActivate(); 
} 
 
///////////////////////////////////////////////////////////////////////////// 
// CTestOCX2CntrItem diagnostics 
 
#ifdef _DEBUG 
void CTestOCX2CntrItem::AssertValid() const 
{ 
	COleClientItem::AssertValid(); 
} 
 
void CTestOCX2CntrItem::Dump(CDumpContext& dc) const 
{ 
	COleClientItem::Dump(dc); 
} 
#endif 
 
/////////////////////////////////////////////////////////////////////////////