#ifndef __ObjOle_h
#define __ObjOle_h

#include "ObjDynabase.h"	// Superclass.

//;----- <EXPORT TO SDK> -----;

#ifdef SUPER_CLASS
#undef SUPER_CLASS
#endif
#define SUPER_CLASS FCObjDynabase

//;------ </EXPORT TO SDK> -----;


class CFCDynamicDrawView;
class FCUndoArchive;
class CMolipDrawCntrItem4_0;

class FCObjOle : public SUPER_CLASS
{
protected:
typedef SUPER_CLASS BASE_CLASS;

public:
	//----- _xZkqqHx_jBfDiCmEiCmM_xHqqkZx_Subclass_xZkqqHx_iCkKiDeDiDjDiDhGiDiKiDiBiDjDiDgHiClFiCmIiCkPiCoKiCmOiCmIiCoHiCmIiCkC_xHqqkZx_ -----
	FCObjOle ();
	virtual BOOL	IsKindOf (FTObjectType nType) const;

	//----- _xZkqqHx_iOmAjBmMiJlLiJmCjEfMiCmIiDeOiDiJiDfIiCkKiDeDiDjDiDhGiDiKiDiBiDjDiDgHiClFiCmIiCkPiCoKiCmOiCmIiCoHiCmIiCkC_xHqqkZx_ -----
	virtual FTObjectType	Type () const;

	//----- Subclass_xZkqqHx_iCmMiCkCiClIiCoKiCkJiCkKiDeDiDjDiDhGiDiKiDiBiDjDiDgHiClFiCmIiCkPiCoKiCmOiCmIiCoHiCmIiCkC_xHqqkZx_ -----
	virtual void	OnDraw (CDC* pDC, BOOL bIsMono);
	virtual DBLRect	GetOuterFrame () const;
	virtual DBLRect	GetResizeFrame () const;

	//----- _xZkqqHx_jBkOjAkLiCpAiOjNiCmCjBfDiCmEiCmM_xHqqkZx_Subclass_xZkqqHx_iCkKiDeDiDjDiDhGiDiKiDiBiDjDiDgHiClFiCmIiCkPiCoKiCmOiCmIiCoHiCmIiCkC_xHqqkZx_ -----
	virtual BOOL	IsEqual (const FCObjDynabase* objp) const;
// 06.06.23 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//	virtual void	OutStream (FCUndoArchive& ar);
	virtual void	OutStream (FCUndoArchive& ar, BOOL bIsOutBezier);
	virtual void	InStream (FCUndoArchive& ar);
	virtual void	CreatePropertyPage (CPropertyPageVector& vPropPage,
										const ObjDynabaseVector& vSelect);

	//----- _xZkqqHx_jFeLjHhGiCmJiJjOiClGiCmEiDeDiDjDiDhGiDiKiDiBiDjDiDgHiClHiCoKiCmOjHmHiCkC_xHqqkZx_ -----
	virtual	~FCObjOle ();
// 02.09.15 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ (Molip_xZkqqHx_iCpA_xHqqkZx_OLE_xZkqqHx_iCmGiClFiCmEiDhJiBfLiDfIiDgHiClFiClNjAoGiCmMiDeBiDhGiDiKiCkJiCoHiBeB_xHqqkZx_Molip_xZkqqHx_iNmEjFnCiPfHiCkKiCmFiCkLiCmIiCkNiCmIiCmBiCmEiClFiCnMiCkEiBeC_xHqqkZx_)
//	virtual void	Terminate ();

	//----- _xZkqqHx_iClBiCmMiDeOiDiJiDfIiMmFjHeMiCmMiKnGjAjE_xHqqkZx_ -----
	virtual BOOL	IsOleItemValid () const;
	virtual CMolipDrawCntrItem4_0*	GetOleClientItem () const;
//----- 05.06.13 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	virtual void	SetOleClientItemAndRatio (	CMolipDrawCntrItem4_0* pItem,
//												double dRatioX = 1.0, double dRatioY = 1.0);
//----- 05.06.13 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
	virtual void	SetOleClientItem (CMolipDrawCntrItem4_0* pItem);
	virtual void	SetOleClientItemAndSize (CMolipDrawCntrItem4_0* pItem);
	virtual void	OpenOleDocument ();
	virtual void	OnOpenOleDocument ();
	virtual void	OnCloseOleDocument (int iMode);
//----- 05.06.13 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	virtual double	GetOleRatioX () const;
//	virtual double	GetOleRatioY () const;
//----- 05.06.13 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
	virtual BOOL	IsEditting () const;

	static CMolipDrawCntrItem4_0*	GetEdittingOleItem ();

// CFCDynamicDrawView::OnInsertObject()_xZkqqHx_iCkJiCoHiBeB_xHqqkZx_Move_xZkqqHx_iCpAiOmAiNhDiClHiCoJiClNiCnPiBeC_xHqqkZx_
friend class CFCDynamicDrawView;
protected:
	//----- _xZkqqHx_jBkOjAkLiCpAiOjNiCmCjBfDiCmEiCmM_xHqqkZx_Subclass_xZkqqHx_iCkKiDeDiDjDiDhGiDiKiDiBiDjDiDgHiClFiCmIiCkPiCoKiCmOiCmIiCoHiCmIiCkC_xHqqkZx_ -----
	virtual void	Copy (FCObjDynabase* pObj) const;
	virtual void	CopySelf (FCObjDynabase* pObj) const;

	//----- _xZkqqHx_jFeLjHhGiCmJiJjOiClGiCmEiDeDiDjDiDhGiDiKiDiBiDjDiDgHiClHiCoKiCmOjHmHiCkC_xHqqkZx_ -----
	virtual void	Move (mmetol mmDX, mmetol mmDY);
	virtual void	Resize (BOOL bXPosi, BOOL bYPosi, const DBLRect& mmrtNew, const DBLRect& mmrtOld);

	//----- _xZkqqHx_iClBiCmMiDeOiDiJiDfIiMmFjHeMiCmMiKnGjAjE_xHqqkZx_ -----

protected:
	//----- _xZkqqHx_iLeMjIfOiClDiCoKiCoJjBkOjAkL_xHqqkZx_ -----
//----- 05.06.13 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	DBLPoint	m_mmptLeftTop;	// _xZkqqHx_iDhEiDiMiBfLiDiAiCmMiNlGiPoDiNmAjFfHiBeC_xHqqkZx_
//	double		m_dRatioX;		// OLE_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiCmGiDhEiDiMiBfLiDiAiCmMiKgHiPgLjEoEiBeC_xHqqkZx_
//	double		m_dRatioY;		// OLE_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiCmGiDhEiDiMiBfLiDiAiCmMiKgHiPgLjEoEiBeC_xHqqkZx_
//----- 05.06.13 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	DBLRect		m_mmrtFrame;	// _xZkqqHx_iDhEiDiMiBfLiDiAiDfEiDeDiDfJiBeC_xHqqkZx_
//----- 05.06.13 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
	CMolipDrawCntrItem4_0*	m_pOleItem;	// OLE_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiBeC_xHqqkZx_
	//----- _xZkqqHx_iLeMjIfOiClDiCoKiCmIiCkCjBkOjAkL_xHqqkZx_ -----
//----- 05.06.14 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	BYTE*		m_pData;		// OLE_xZkqqHx_jFmPiNfIjBePiCmMiDgGiBfLiDfOiBeC_xHqqkZx_
//	DWORD		m_dwDataSz;		// m_pData_xZkqqHx_iCmMiDfEiDeDiDfJiBeC_xHqqkZx_
//----- 05.06.14 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	static CMolipDrawCntrItem4_0*	s_pOleItemEditting;	// OLE_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiBeC_xHqqkZx_
//----- 05.06.14 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
}; // class FCObjOle.

#endif//__ObjOle_h
