#ifndef __ToolMoveResizeTmpl_h
#define __ToolMoveResizeTmpl_h

#include "stdafx.h"
#include "DynamicDraw.h"		// For FFCanEditSelected.
#include "ObjDynabase.h"			// For FCObjDynabase.
#include "ObjGroup.h"			// For FCObjGroup.
#include "UtilCoord.h"			// For mm2lg.etc.
#include "UtilCoord.h"			// For mm2lg.etc.
#include "UtilGraph.h"			// For FCEditDraw.
#include "UtilObj.h"			// For FFGetFramePoint.
#include "UtilStr.h"			// For FFLoadWString.
#include "PursuerText.h"		// For CFCPursuerText.
#include "DynamicDrawView.h"	// For g_pView.
#include "RegData.h"			// For FCRegData.
#include "LinkManager.h"		// For FCLinkManager.
#include "ResizeWork.h"			// For FCResizeWork.
#include "ToolSelectObjTmpl.h"	// Super class.

#ifdef SUPER_CLASS
#undef SUPER_CLASS
#endif
#define SUPER_CLASS FCToolSelectObjTmpl<SUPER_SUPER, T_IDENTIFY>

/*************************************************************************
 * <_xZkqqHx_iDeOiDiJiDfI_xHqqkZx_>	FCToolMoveResizeTmpl
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	FCToolSelectObjTmpl_xZkqqHx_iDeOiDiJiDfIiCkKjCpBiLjPiClHiCoJjFjEjFgJjBeJjBpAiLeAjEfMiCmJiBeBjFjEjFgJiCmM_xHqqkZx_
 *			_xZkqqHx_iInKjDkOiBfOiDiKiDfEiDeDiDfJiLeAjEfMiCpAjCmHiJmBiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jCiNiInD_xHqqkZx_>	_xZkqqHx_iPoDiImKiDeOiDiJiDfIiCmJiBeBjFeLiClI_xHqqkZx_ FCToolSelectObjTmpl_xZkqqHx_iDeOiDiJiDfIiCkKiKnMiCnMiCoKiCmIiCkPiCoKiCmO_xHqqkZx_
 *			_xZkqqHx_iCmIiCoHiCmIiCkCiBeCiCnMiClNiBeB_xHqqkZx_T_IDENTIFY _xZkqqHx_iCmMiOkPjFmKiOhBiCmN_xHqqkZx_FCToolSelectObjTmpl_xZkqqHx_iDeOiDiJiDfIiCmM_xHqqkZx_
 *			_xZkqqHx_iOkPjFmKiOhBiCmGiIoKjChGiClHiCoJjFeLjHhGiCkKiCkAiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.06.09 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
template<class SUPER_SUPER, class T_IDENTIFY> class FCToolMoveResizeTmpl : public SUPER_CLASS
{
protected:
typedef SUPER_CLASS BASE_CLASS;
typedef BASE_CLASS::BASE_CLASS BASE_BASE_CLASS;

// _xZkqqHx_iDiBiDjDiDgPiKnGjAjEiBeC_xHqqkZx_
public:
	FCToolMoveResizeTmpl (WORD wOperation = FDOZ_ON_EDIT);

	//----- _xZkqqHx_iDfEiDhFiDeOiDiJiDfIiCmFjEeDiInD_xHqqkZx_ -----
// 06.12.09 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	virtual void	OnDraw (CDC* pDC);
	virtual void	Select (CDC* pDC);
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	virtual BOOL	IsObjectCommandEnable (DWORD dwCmdID) const;
//	virtual BOOL	CanObjectMoveSnapLeft () const;
//	virtual void	OnObjectMoveSnapLeft ();
//	virtual BOOL	CanObjectMoveSnapUp () const;
//	virtual void	OnObjectMoveSnapUp ();
//	virtual BOOL	CanObjectMoveSnapRight () const;
//	virtual void	OnObjectMoveSnapRight ();
//	virtual BOOL	CanObjectMoveSnapDown () const;
//	virtual void	OnObjectMoveSnapDown ();
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

protected:
	//----- FCToolSelectTmpl_xZkqqHx_iCmMiDfEiDhFiDeOiDiJiDfIiCmFiBeB_xHqqkZx_XXX_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiCpAiInKjDkOiClHiCoJiPoKiNiHiCmNjFeLjAhL_xHqqkZx_ -----
	virtual BOOL	CanMoveXXX (T_IDENTIFY*) const;
	virtual void	DrawFirstImageXXX (T_IDENTIFY*, CDC* pDC);
	virtual void	RedrawMovingImageXXX (T_IDENTIFY*, const DBLPoint& mmptMove, CDC* pDC);
// 06.12.09 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	virtual void	OnDrawMovingImageXXX (T_IDENTIFY*, CDC* pDC);
	virtual void	DrawLastImageXXX (T_IDENTIFY*, CDC* pDC);
	virtual void	MoveXXX (T_IDENTIFY*, const vector<FCObjDynabase*>& vXxx, const DBLPointVector& vmmptMove);

	//----- _xZkqqHx_iClBiCmMiDeOiDiJiDfIiMmFjHeM_xHqqkZx_ -----
	virtual void	MakeSelectBitmap (CDC* pDC);
	virtual BOOL	CheckHitLocalResizeMark ();
// 05.09.04 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	virtual void	MoveObjSnap (long lHorzDirection, long lVertDirection);
	virtual void	GetResizeHintText (	WString& wstrHint,
										const DBLRect& mmrtFrame,
										double dRatioX,
										double dRatioY) const;

	//----- FCToolBaseFDA_xZkqqHx_iCmMiDfEiDhFiDeOiDiJiDfIiCmFjFeLjHhGiCmJiJjOiClGiCmE_xHqqkZx_ -----
// 06.12.09 Fukushiro M. 1_xZkqqHx_iNhDjCmHiJmB_xHqqkZx_ ()
	virtual void	OnDrawState (CDC* pDC, int iState);
	virtual int		TransFDA (int iState, int iEvent);
	virtual void	StateFDA (int iState, CDC* pDC);

	//----- _xZkqqHx_jBeKiInKiPpDjBnEiPiIjHjNiBgJiDeJiBfLiDgPiBfLiDiJiDeDiDgIiBgK_xHqqkZx_ -----
	virtual void	StateIdle (CDC* pDC);			// _xZkqqHx_jBnCiClPiBeC_xHqqkZx_

	//----- _xZkqqHx_jBeKiInKiPpDjBnEiPiIjHjN_xHqqkZx_ -----
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	virtual void	StateStartMoveObj (CDC* pDC);	// _xZkqqHx_jFjEjFgJiInKjDkOiKeKiOgOiBeC_xHqqkZx_
//	virtual void	StateMovingObj (CDC* pDC);		// _xZkqqHx_jFjEjFgJiInKjDkOjCiGiBeC_xHqqkZx_
//	virtual void	StateStopMoveObj (CDC* pDC);	// _xZkqqHx_jFjEjFgJiInKjDkOiPeJjHlJiBeC_xHqqkZx_
//	virtual void	StateDoMoveObj (CDC* pDC);		// _xZkqqHx_jFjEjFgJiInKjDkOiPiIjHjNiBeC_xHqqkZx_
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

	virtual void	StateEnterResize (CDC* pDC);	// _xZkqqHx_iDiKiDfEiDeDiDfJjDpMiMpLiBeC_xHqqkZx_
	virtual void	StateStartResize (CDC* pDC);	// _xZkqqHx_iDiKiDfEiDeDiDfJiKeKiOgOiBeC_xHqqkZx_
	virtual void	StateResizing (CDC* pDC);		// _xZkqqHx_iDiKiDfEiDeDiDfJjCiGiBeC_xHqqkZx_
	virtual void	StateStopResize (CDC* pDC);		// _xZkqqHx_iDiKiDfEiDeDiDfJiPeJjHlJiBeC_xHqqkZx_
	virtual void	StateExitResize (CDC* pDC);		// _xZkqqHx_iDiKiDfEiDeDiDfJiPgPiMpLiBeC_xHqqkZx_

// 05.09.03 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	virtual void	StateDoMoveObjSnap (CDC* pDC);	// _xZkqqHx_jFjEjFgJiDfIiDgJiDgCiDhGiInKjDkOiBeC_xHqqkZx_

// _xZkqqHx_iClBiCmMiDeOiDiJiDfIiMmFjHeMiCmMjCoIiLgAiBeC_xHqqkZx_
protected:
enum
{
	STATE_BEGIN = BASE_CLASS::STATE_END,	// _xZkqqHx_iPpDjBnEiKeKiOgOiBeC_xHqqkZx_

//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	STATE_START_MOVE_OBJ,	// _xZkqqHx_jFjEjFgJiInKjDkOiKeKiOgOiBeC_xHqqkZx_
//	STATE_MOVING_OBJ,		// _xZkqqHx_jFjEjFgJiInKjDkOjCiGiBeC_xHqqkZx_
//	STATE_STOP_MOVE_OBJ,	// _xZkqqHx_jFjEjFgJiInKjDkOiPeJjHlJiBeC_xHqqkZx_
//	STATE_DO_MOVE_OBJ,		// _xZkqqHx_jFjEjFgJiInKjDkOiPiIjHjNiBeC_xHqqkZx_
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
	STATE_ENTER_RESIZE,		// _xZkqqHx_iDiKiDfEiDeDiDfJjDpMiMpLiBeC_xHqqkZx_
	STATE_START_RESIZE,		// _xZkqqHx_iDiKiDfEiDeDiDfJiKeKiOgOiBeC_xHqqkZx_
	STATE_RESIZING,			// _xZkqqHx_iDiKiDfEiDeDiDfJjCiGiBeC_xHqqkZx_
	STATE_STOP_RESIZE,		// _xZkqqHx_iDiKiDfEiDeDiDfJiPeJjHlJiBeC_xHqqkZx_
	STATE_EXIT_RESIZE,		// _xZkqqHx_iDiKiDfEiDeDiDfJiPgPiMpLiBeC_xHqqkZx_
// 05.09.03 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	STATE_DO_MOVE_OBJ_SNAP,	// _xZkqqHx_jFjEjFgJiDfIiDgJiDgCiDhGiInKjDkOiBeC_xHqqkZx_

	STATE_END,				// _xZkqqHx_iPpDjBnEiPeJjHlJiBeC_xHqqkZx_
};

// _xZkqqHx_iDiBiDjDiDgPjFmPjAjEiBeC_xHqqkZx_
protected:
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	//----- _xZkqqHx_jFjEjFgJiInKjDkOjHhAiCmMiNmAjFfHjFmPjAjE_xHqqkZx_ -----
//	DBLPoint	m_mmptButtonDownFirst;	// _xZkqqHx_iNmFiPiJiCmJiDhLiDfOiDjDiCpAiJjPiClFiClNiOjOiCmMiNmAjFfHiBeC_xHqqkZx_
//	DBLPoint	m_mmptLastLT;		// _xZkqqHx_jBePiJpBiCmMjFjEjFgJiImKjChFiCmMiNlGiPoDiNmAjFfHiBeC_xHqqkZx_
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

	//----- _xZkqqHx_jFjEjFgJiInKjDkOjHhAiCmMiDhCiDgCiDgHiDhNiDgCiDhGiKnGjIeBjFmPjAjE_xHqqkZx_ -----
	CBitmap		m_coMoveBit;		// _xZkqqHx_jFjEjFgJiInKjDkOjHhAiCmMiDhCiDgCiDgHiDhNiDgCiDhGiBeC_xHqqkZx_
	double		m_dBitZoom;			// _xZkqqHx_iInKjDkOjHhAiDhCiDgCiDgHiDhNiDgCiDhGiNoMjAkMiOjOiCmMiDfJiBfLiDiAjCgMiBeC_xHqqkZx_
	mmetol		m_mmBitWidth;		// _xZkqqHx_iInKjDkOjFjEjFgJiCmMiKePjAnKiLoJiMgAiCmMjFjNiBeC_xHqqkZx_
	mmetol		m_mmBitHeight;		// _xZkqqHx_iInKjDkOjFjEjFgJiCmMiKePjAnKiLoJiMgAiCmMiNiCiClDiBeC_xHqqkZx_
	DBLPoint	m_mmptBitOffset;	// _xZkqqHx_iKePjAnKiLoJiMgAiCmMiDhNiDeFiDfIiNmAjFfHiCkJiCoHiCmMiDeJiDhEiDfKiDgCiDgHiBeC_xHqqkZx_
	DBLPoint	m_mmptBitLT;		// _xZkqqHx_iInKjDkOjHhAiDhCiDgCiDgHiDhNiDgCiDhGiCmMiNlGiPoDiNmAjFfHiBeC_xHqqkZx_

	//----- _xZkqqHx_jFjEjFgJiDiKiDfEiDeDiDfJjHhAiCmMjFmPjAjE_xHqqkZx_ -----
	FCResizeWork	m_resizeWork;	// _xZkqqHx_iDiKiDfEiDeDiDfJjHhAiDeOiDiJiDfIiBeC_xHqqkZx_

	//----- _xZkqqHx_iDiKiDfEiDeDiDfJiDgOiDjDiDgIiDiLiCmMiDhBiDgCiDgHiPpDjBnEiLeMjIfOjFmPjAjE_xHqqkZx_ -----
	short			m_nHitSzHandle;		// _xZkqqHx_iDeKiBfLiDfMiDiLiBeC_xHqqkZx_
	DBLPoint		m_mmptHitSzPoint;	// _xZkqqHx_iDhBiDgCiDgHiImKjChFiBeC_xHqqkZx_
	FCObjDynabase*		m_pHitSzObj;		// _xZkqqHx_jFjEjFgJiBeC_xHqqkZx_
}; // class FCToolMoveResizeTmpl.

//////////////////////////////////////////////////////////////////////////
// _xZkqqHx_iDiBiDjDiDgPiKnGjAjEiBeC_xHqqkZx_

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::FCToolMoveResizeTmpl
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfCiDjDiDfIiDgHiDiJiDeOiDfOiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.06.12 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
template<class SUPER_SUPER, class T_IDENTIFY>
FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::FCToolMoveResizeTmpl (WORD wOperation)
											:BASE_CLASS(wOperation)
{
} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::FCToolMoveResizeTmpl.

//----- 06.12.09 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnDraw
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	View_xZkqqHx_iCmM_xHqqkZx_OnDraw_xZkqqHx_iCkJiCoHiOmAiNhDiClDiCoKiCoJiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDC		:_xZkqqHx_jFfMiOkGjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
// *			pmmrtRgn:_xZkqqHx_iDiKiBfLiDfHiDiHiDjDjEhKjHpBiCpAiOhHjCoIiBeCiOgHiCoNiCmIiCkCiPoKiNiHiCmN_xHqqkZx_NULL_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
// *			lRgnSize:pmmrtRgn_xZkqqHx_iCmMjEhKjHpBiDfEiDeDiDfJiCpAiOhHjCoIiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	00.03.11 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//template<class SUPER_SUPER, class T_IDENTIFY>
//void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnDraw (CDC* pDC)
//{
//	// FDA_xZkqqHx_iCmMiMlLiNnNiCmMiPpDjBnEiBeC_xHqqkZx_
//	switch (GetCurrentState())
//	{
////----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
////	case STATE_MOVING_OBJ:		// _xZkqqHx_jFjEjFgJiInKjDkOjCiGiBeC_xHqqkZx_
////	  {
////		// _xZkqqHx_iInKjDkOjHhAiDhCiDgCiDgHiDhNiDgCiDhGiNoMjAkMiOjOiCmMiDfJiBfLiDiAjCgMiCmGiInJiCmIiCoJiPoKiNiHiCmNiBeB_xHqqkZx_
////		// _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiDeDiDiBiBfLiDfHiCpAiNoMjAkMiClFiCmIiCkIiClHiBeC_xHqqkZx_
////		// _xZkqqHx_jFjEjFgJiInKjDkOiOjOiCmJiBeB_xHqqkZx_Ctrl+Wheel_xZkqqHx_iCmFiDfJiBfLiDiAjCgMiCkKjFmPiNfIiClDiCoKiClNiPoKiNiHiCmJjBmOiJjOiBeC_xHqqkZx_
////		if (m_dBitZoom != g_->dZoom) MakeSelectBitmap(pDC);
////		//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGjHhA_xHqqkZx_CDC_xZkqqHx_iNoMjAkM_xHqqkZx_ -----
////		CDC	dcMem;
////		dcMem.CreateCompatibleDC(pDC);
////		CBitmap* pbmOld = dcMem.SelectObject(&m_coMoveBit);
////
////		//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiCpAjFgAiJoG_xHqqkZx_ -----
////		FCAutoDC(pDC).BitBlt(mm2lg(m_mmptBitLT.x), mm2lg(m_mmptBitLT.y),
////						mm2lg(m_mmBitWidth), mm2lg(m_mmBitHeight), &dcMem, 0, 0, SRCINVERT);
////		//----- _xZkqqHx_iMlDiCmMiDhCiDgCiDgHiDhNiDgCiDhGiCmJjGnPiClFiCmEiBeBiPeJjHlJ_xHqqkZx_ -----
////		dcMem.SelectObject(pbmOld);
////		dcMem.DeleteDC();
////		break;
////	  }
////----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
//	case STATE_RESIZING:			// _xZkqqHx_iDiKiDfEiDeDiDfJjCiGiBeC_xHqqkZx_
//		m_resizeWork.DrawCurFrame(pDC);
//		break;
//	}
//	// Superclass_xZkqqHx_iKnGjAjEiOmAiNhDiBeC_xHqqkZx_
//	BASE_CLASS::OnDraw(pDC);
//} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnDraw.
//----- 06.12.09 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::Select
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iClBiCmMiDgDiBfLiDiLiCkKjBeJjBpAiClDiCoKiClNiCmGiCkLiBeBiDfCiBfLiDiLiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDC	:_xZkqqHx_jFfMiOkGjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	00.01.12 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
template<class SUPER_SUPER, class T_IDENTIFY>
void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::Select (CDC* pDC)
{
	// Superclass_xZkqqHx_iKnGjAjEiCpAiOmAiNhDiBeC_xHqqkZx_
	BASE_CLASS::Select(pDC);

	//----- _xZkqqHx_iMjPiNpFiDhBiDgCiDgHiClFiClNjFmPjAjE_xHqqkZx_ -----
	m_pHitSzObj = NULL;
	m_nHitSzHandle = FD_HIT_NONE;
} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::Select.

//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::IsObjectCommandEnable
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfCiDhNiDjDiDgI_xHqqkZx_ ID_OBJECT_XXX _xZkqqHx_iCmMjCoIjAkLjDeJiCmIjHeMiMpIiBeFjGlDiMpIiCpAjFnEiClHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	dwCmdID	:_xZkqqHx_iDfCiDhNiDjDiDgI_xHqqkZx_ID_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_jHeMiMpIiCmMiPoKiNiH_xHqqkZx_ TRUE_xZkqqHx_iBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.03.02 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//template<class SUPER_SUPER, class T_IDENTIFY>
//BOOL FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::IsObjectCommandEnable (DWORD dwCmdID) const
//{
//	switch (dwCmdID)
//	{
//	case ID_OBJECT_MOVE_SNAP_LEFT:
//	case ID_OBJECT_MOVE_SNAP_UP:
//	case ID_OBJECT_MOVE_SNAP_RIGHT:
//	case ID_OBJECT_MOVE_SNAP_DOWN:
//		return TRUE;
//	default:
//		return BASE_CLASS::IsObjectCommandEnable(dwCmdID);
//	}
//} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::IsObjectCommandEnable.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::CanObjectMoveSnapLeft
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfCiDhNiDjDiDgIiBhFiNlGjFpLiMpMiCnGiDfIiDgJiDgCiDhGiInKjDkOiBhGiCkKiOmAiNhDiJmCjEfMiCkJiCmHiCkEiCkJiCpAjFnEiClHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iJmCjEfMiCmIiPoKiNiHiCmN_xHqqkZx_TRUE_xZkqqHx_iBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.03.02 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//template<class SUPER_SUPER, class T_IDENTIFY>
//BOOL FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::CanObjectMoveSnapLeft () const
//{
//	// _xZkqqHx_jFjEjFgJiCkKjFmPiNfIjFhDiJmCjEfMiCmIiCoHiCmOjFhDiJmCiBeC_xHqqkZx_
//	if (!FFCanEditSelected()) return FALSE;
//	return TRUE;
//} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::CanObjectMoveSnapLeft.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnObjectMoveSnapLeft
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfCiDhNiDjDiDgIiBhFiNlGjFpLiMpMiCnGiDfIiDgJiDgCiDhGiInKjDkOiBhGiCpAiOmAiNhDiClHiCoJiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.03.02 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//template<class SUPER_SUPER, class T_IDENTIFY>
//void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnObjectMoveSnapLeft ()
//{
//	MoveObjSnap(-1, 0);
//} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnObjectMoveSnapLeft.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::CanObjectMoveSnapUp
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfCiDhNiDjDiDgIiBhFiPoDjFpLiMpMiCnGiDfIiDgJiDgCiDhGiInKjDkOiBhGiCkKiOmAiNhDiJmCjEfMiCkJiCmHiCkEiCkJiCpAjFnEiClHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iJmCjEfMiCmIiPoKiNiHiCmN_xHqqkZx_TRUE_xZkqqHx_iBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.03.02 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//template<class SUPER_SUPER, class T_IDENTIFY>
//BOOL FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::CanObjectMoveSnapUp () const
//{
//	// _xZkqqHx_jFjEjFgJiCkKjFmPiNfIjFhDiJmCjEfMiCmIiCoHiCmOjFhDiJmCiBeC_xHqqkZx_
//	if (!FFCanEditSelected()) return FALSE;
//	return TRUE;
//} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::CanObjectMoveSnapUp.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnObjectMoveSnapUp
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfCiDhNiDjDiDgIiBhFiPoDjFpLiMpMiCnGiDfIiDgJiDgCiDhGiInKjDkOiBhGiCpAiOmAiNhDiClHiCoJiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.03.02 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//template<class SUPER_SUPER, class T_IDENTIFY>
//void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnObjectMoveSnapUp ()
//{
//	MoveObjSnap(0, -1);
//} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnObjectMoveSnapUp.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::CanObjectMoveSnapRight
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfCiDhNiDjDiDgIiBhFiJeFjFpLiMpMiCnGiDfIiDgJiDgCiDhGiInKjDkOiBhGiCkKiOmAiNhDiJmCjEfMiCkJiCmHiCkEiCkJiCpAjFnEiClHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iJmCjEfMiCmIiPoKiNiHiCmN_xHqqkZx_TRUE_xZkqqHx_iBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.03.02 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//template<class SUPER_SUPER, class T_IDENTIFY>
//BOOL FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::CanObjectMoveSnapRight () const
//{
//	// _xZkqqHx_jFjEjFgJiCkKjFmPiNfIjFhDiJmCjEfMiCmIiCoHiCmOjFhDiJmCiBeC_xHqqkZx_
//	if (!FFCanEditSelected()) return FALSE;
//	return TRUE;
//} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::CanObjectMoveSnapRight.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnObjectMoveSnapRight
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfCiDhNiDjDiDgIiBhFiJeFjFpLiMpMiCnGiDfIiDgJiDgCiDhGiInKjDkOiBhGiCpAiOmAiNhDiClHiCoJiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.03.02 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//template<class SUPER_SUPER, class T_IDENTIFY>
//void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnObjectMoveSnapRight ()
//{
//	MoveObjSnap(1, 0);
//} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnObjectMoveSnapRight.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::CanObjectMoveSnapDown
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfCiDhNiDjDiDgIiBhFiJlKjFpLiMpMiCnGiDfIiDgJiDgCiDhGiInKjDkOiBhGiCkKiOmAiNhDiJmCjEfMiCkJiCmHiCkEiCkJiCpAjFnEiClHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iJmCjEfMiCmIiPoKiNiHiCmN_xHqqkZx_TRUE_xZkqqHx_iBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.03.02 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//template<class SUPER_SUPER, class T_IDENTIFY>
//BOOL FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::CanObjectMoveSnapDown () const
//{
//	// _xZkqqHx_jFjEjFgJiCkKjFmPiNfIjFhDiJmCjEfMiCmIiCoHiCmOjFhDiJmCiBeC_xHqqkZx_
//	if (!FFCanEditSelected()) return FALSE;
//	return TRUE;
//} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::CanObjectMoveSnapDown.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnObjectMoveSnapDown
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfCiDhNiDjDiDgIiBhFiJlKjFpLiMpMiCnGiDfIiDgJiDgCiDhGiInKjDkOiBhGiCpAiOmAiNhDiClHiCoJiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.03.02 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//template<class SUPER_SUPER, class T_IDENTIFY>
//void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnObjectMoveSnapDown ()
//{
//	MoveObjSnap(0, 1);
//} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnObjectMoveSnapDown.
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::CanMoveXXX
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	XXX_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiCpAiInKjDkOiCmFiCkLiCoJiCkJiCmHiCkEiCkJjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iInKjDkOiCmFiCkLiCoJiPoKiNiHiCmN_xHqqkZx_TRUE_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.09.03 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
template<class SUPER_SUPER, class T_IDENTIFY>
BOOL FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::CanMoveXXX (T_IDENTIFY*) const
{
	return FFCanEditSelected();
} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::CanMoveXXX.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::DrawFirstImageXXX
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	XXX_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiCmMiNmFiPiJiCmMiDeDiDiBiBfLiDfHiCpAjFgAiJoGiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDC	:_xZkqqHx_jFgAiJoGjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	DrawFirstImageXXX_xZkqqHx_iBeB_xHqqkZx_RedrawMovingImageXXX_xZkqqHx_iBeB_xHqqkZx_DrawLastImageXXX _xZkqqHx_iCmN_xHqqkZx_
 *			_xZkqqHx_iDfKiDgCiDgHiBeC_xHqqkZx_
 *			_xZkqqHx_jFjEjFgJiInKjDkOiCmMiPoKiNiHiCpAiNgMiCkGiCoJiBeC_xHqqkZx_
 *			_xZkqqHx_iCfAiBeE_xHqqkZx_DrawFirstImageXXX _xZkqqHx_iCmFiNmFiPiJiCmMjFnCiPfHjApMiCpAjFgAiJoGiBeC_xHqqkZx_
 *			_xZkqqHx_iCfBiBeE_xHqqkZx_RedrawMovingImageXXX _xZkqqHx_iCmNiBeBiDhNiDeFiDfIiInKjDkOiOjOiCmJiBeBiInKjDkOjBePiCmMjFnCiPfHjApMiCpA_xHqqkZx_
 *				_xZkqqHx_iPmBiLiOiClFiBeBiOhHjCoIiLjHjHkDiClOiCkPiLjHjHkDiCpAiInKjDkOiBeBiInKjDkOiMoDiCmMjFnCiPfHjApMiCpAjFgAiJoGiBeC_xHqqkZx_
 *			_xZkqqHx_iCfCiBeE_xHqqkZx_DrawLastImageXXX _xZkqqHx_iCmFiNmFiMoDiCmMjFnCiPfHjApMiCpAiPmBiLiOiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.09.03 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
template<class SUPER_SUPER, class T_IDENTIFY>
void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::DrawFirstImageXXX (T_IDENTIFY*, CDC* pDC)
{
	// _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiDeDiDiBiBfLiDfHiNoMjAkMiBeC_xHqqkZx_
	MakeSelectBitmap(pDC);
	//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiCmMiNlGiPoDiNmAjFfHiCpAjDlOiCoJ_xHqqkZx_ -----
	m_mmptBitLT = m_mmrtLastFrame.GetLeftTop() + m_mmptBitOffset;
	//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGjHhA_xHqqkZx_CDC_xZkqqHx_iNoMjAkM_xHqqkZx_ -----
	CDC	dcMem;
	dcMem.CreateCompatibleDC(pDC);
	CBitmap* pbmOld = dcMem.SelectObject(&m_coMoveBit);
	//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiCpAjFgAiJoG_xHqqkZx_ -----
	FCAutoDC(pDC).BitBlt(mm2lg(m_mmptBitLT.x), mm2lg(m_mmptBitLT.y),
					mm2lg(m_mmBitWidth), mm2lg(m_mmBitHeight), &dcMem, 0, 0, SRCINVERT);
	//----- _xZkqqHx_iMlDiCmMiDhCiDgCiDgHiDhNiDgCiDhGiCmJjGnPiClFiBeB_xHqqkZx_CDC_xZkqqHx_iCpAiJpAjFpK_xHqqkZx_ -----
	dcMem.SelectObject(pbmOld);
	dcMem.DeleteDC();
	// Baseclass_xZkqqHx_iKnGjAjEiOmAiNhDiBeC_xHqqkZx_
	BASE_CLASS::DrawFirstImageXXX((T_IDENTIFY*)NULL, pDC);
} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::DrawFirstImageXXX.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::RedrawMovingImageXXX
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iInKjDkOjCiGiCmM_xHqqkZx_XXX_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiCmMiDeDiDiBiBfLiDfHiCpAiNmEjFgAiJoGiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	mmptMove:XXX_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiCmMiInKjDkOjHmKiCpAiOhHjCoIiBeC_xHqqkZx_
 *			pDC		:_xZkqqHx_jFgAiJoGjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jCiNiInD_xHqqkZx_>	mmptMove=(0,0)_xZkqqHx_iCkKiOhHjCoIiClDiCoKiClNiPoKiNiHiCmNiBeBjFfMiOkGjFgAiJoGiCmMiCnNiCpAiNhDiCkEiBeC_xHqqkZx_
 *			Tool::OnDraw _xZkqqHx_iCmFiCmMjFgAiJoGiPiIjHjNjHhAiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	DrawFirstImageXXX_xZkqqHx_iBeB_xHqqkZx_RedrawMovingImageXXX_xZkqqHx_iBeB_xHqqkZx_DrawLastImageXXX _xZkqqHx_iCmN_xHqqkZx_
 *			_xZkqqHx_iDfKiDgCiDgHiBeC_xHqqkZx_
 *			_xZkqqHx_jFjEjFgJiInKjDkOiCmMiPoKiNiHiCpAiNgMiCkGiCoJiBeC_xHqqkZx_
 *			_xZkqqHx_iCfAiBeE_xHqqkZx_DrawFirstImageXXX _xZkqqHx_iCmFiNmFiPiJiCmMjFnCiPfHjApMiCpAjFgAiJoGiBeC_xHqqkZx_
 *			_xZkqqHx_iCfBiBeE_xHqqkZx_RedrawMovingImageXXX _xZkqqHx_iCmNiBeBiDhNiDeFiDfIiInKjDkOiOjOiCmJiBeBiInKjDkOjBePiCmMjFnCiPfHjApMiCpA_xHqqkZx_
 *				_xZkqqHx_iPmBiLiOiClFiBeBiOhHjCoIiLjHjHkDiClOiCkPiLjHjHkDiCpAiInKjDkOiBeBiInKjDkOiMoDiCmMjFnCiPfHjApMiCpAjFgAiJoGiBeC_xHqqkZx_
 *			_xZkqqHx_iCfCiBeE_xHqqkZx_DrawLastImageXXX _xZkqqHx_iCmFiNmFiMoDiCmMjFnCiPfHjApMiCpAiPmBiLiOiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.09.03 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
template<class SUPER_SUPER, class T_IDENTIFY>
void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::RedrawMovingImageXXX (T_IDENTIFY*, const DBLPoint& mmptMove, CDC* pDC)
{
//----- 06.12.11 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	// _xZkqqHx_iInKjDkOjHhAiDhCiDgCiDgHiDhNiDgCiDhGiNoMjAkMiOjOiCmMiDfJiBfLiDiAjCgMiCmGiInJiCmIiCoJiPoKiNiHiCmNiBeB_xHqqkZx_
	// _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiDeDiDiBiBfLiDfHiCpAiNoMjAkMiClFiCmIiCkIiClHiBeC_xHqqkZx_
	// _xZkqqHx_jFjEjFgJiInKjDkOiOjOiCmJiBeB_xHqqkZx_Ctrl+Wheel_xZkqqHx_iCmFiDfJiBfLiDiAjCgMiCkKjFmPiNfIiClDiCoKiClNiPoKiNiHiCmJjBmOiJjOiBeC_xHqqkZx_
	if (m_dBitZoom != g_->dZoom)
	//----- _xZkqqHx_iInKjDkOjCiGiCmJiDfJiBfLiDiAiCkKjFmPiNfIiClDiCoKiClNiPoKiNiH_xHqqkZx_ -----
	{
		const DBLPoint mmptBitOffset = m_mmptBitOffset;
		// _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiNmEiNoMjAkMiBeC_xHqqkZx_
		MakeSelectBitmap(pDC);
		// _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiNmEiNoMjAkMiCmFiBeBjFjEjFgJiNlGiPoDiCmGiDhCiDgCiDgHiDhNiDgCiDhGiNlGiPoDiCmM_xHqqkZx_
		// _xZkqqHx_iDeJiDhEiDfKiDgCiDgHjCgMiCkKiLlGiCkEiBeCiClBiCoKiCpAjFoCjAlDiBeC_xHqqkZx_
		m_mmptBitLT += (m_mmptBitOffset - mmptBitOffset);
	}
//----- 06.12.11 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----

	//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGjHhA_xHqqkZx_CDC_xZkqqHx_iNoMjAkM_xHqqkZx_ -----
	CDC dcMem;
	dcMem.CreateCompatibleDC(pDC);
	CBitmap* pbmOld = dcMem.SelectObject(&m_coMoveBit);
//----- 06.12.09 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	if (!mmptMove.IsNull())
	//----- _xZkqqHx_iInKjDkOiCkKiOhHjCoIiClDiCoKiCmEiCkCiCoJiPoKiNiH_xHqqkZx_ -----
	{
//----- 06.12.09 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
		//----- _xZkqqHx_jBePiJpBiCmMiDhCiDgCiDgHiDhNiDgCiDhGiCpAiPmBiClH_xHqqkZx_ -----
		FCAutoDC(pDC).BitBlt(mm2lg(m_mmptBitLT.x), mm2lg(m_mmptBitLT.y),
							mm2lg(m_mmBitWidth), mm2lg(m_mmBitHeight), &dcMem, 0, 0, SRCINVERT);
		//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiCmMiNlGiPoDiNmAjFfHiCpAjDlOiCoJ_xHqqkZx_ -----
		m_mmptBitLT += mmptMove;

// 06.12.09 Fukushiro M. 1_xZkqqHx_iNhDjCmHiJmB_xHqqkZx_ ()
	}

	//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiCpAjFfMiOkG_xHqqkZx_ -----
	FCAutoDC(pDC).BitBlt(mm2lg(m_mmptBitLT.x), mm2lg(m_mmptBitLT.y),
						mm2lg(m_mmBitWidth), mm2lg(m_mmBitHeight), &dcMem, 0, 0, SRCINVERT);
	//----- _xZkqqHx_iMlDiCmMiDhCiDgCiDgHiDhNiDgCiDhGiCmJjGnPiClFiCmEiBeBiPeJjHlJ_xHqqkZx_ -----
	dcMem.SelectObject(pbmOld);
	dcMem.DeleteDC();
	// Baseclass_xZkqqHx_iKnGjAjEiOmAiNhDiBeC_xHqqkZx_
	BASE_CLASS::RedrawMovingImageXXX((T_IDENTIFY*)NULL, mmptMove, pDC);
} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::RedrawMovingImageXXX.

//----- 06.12.09 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnDrawMovingImageXXX
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iInKjDkOjCiGiCmM_xHqqkZx_XXX_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiCmMiDeDiDiBiBfLiDfHiCpAiNmEjFgAiJoGiClHiCoJiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDC	:_xZkqqHx_jFgAiJoGjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.09.03 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//template<class SUPER_SUPER, class T_IDENTIFY>
//void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnDrawMovingImageXXX (T_IDENTIFY*, CDC* pDC)
//{
//	// _xZkqqHx_iInKjDkOjHhAiDhCiDgCiDgHiDhNiDgCiDhGiNoMjAkMiOjOiCmMiDfJiBfLiDiAjCgMiCmGiInJiCmIiCoJiPoKiNiHiCmNiBeB_xHqqkZx_
//	// _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiDeDiDiBiBfLiDfHiCpAiNoMjAkMiClFiCmIiCkIiClHiBeC_xHqqkZx_
//	// _xZkqqHx_jFjEjFgJiInKjDkOiOjOiCmJiBeB_xHqqkZx_Ctrl+Wheel_xZkqqHx_iCmFiDfJiBfLiDiAjCgMiCkKjFmPiNfIiClDiCoKiClNiPoKiNiHiCmJjBmOiJjOiBeC_xHqqkZx_
//	if (m_dBitZoom != g_->dZoom) MakeSelectBitmap(pDC);
//	//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGjHhA_xHqqkZx_CDC_xZkqqHx_iNoMjAkM_xHqqkZx_ -----
//	CDC	dcMem;
//	dcMem.CreateCompatibleDC(pDC);
//	CBitmap* pbmOld = dcMem.SelectObject(&m_coMoveBit);
//
//	//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiCpAjFgAiJoG_xHqqkZx_ -----
//	FCAutoDC(pDC).BitBlt(mm2lg(m_mmptBitLT.x), mm2lg(m_mmptBitLT.y),
//					mm2lg(m_mmBitWidth), mm2lg(m_mmBitHeight), &dcMem, 0, 0, SRCINVERT);
//	//----- _xZkqqHx_iMlDiCmMiDhCiDgCiDgHiDhNiDgCiDhGiCmJjGnPiClFiCmEiBeBiPeJjHlJ_xHqqkZx_ -----
//	dcMem.SelectObject(pbmOld);
//	dcMem.DeleteDC();
//	// Baseclass_xZkqqHx_iKnGjAjEiOmAiNhDiBeC_xHqqkZx_
//	BASE_CLASS::OnDrawMovingImageXXX((T_IDENTIFY*)NULL, pDC);
//} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnDrawMovingImageXXX.
//----- 06.12.09 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::DrawLastImageXXX
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	XXX_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiCmMiNmFiMoDiCmMiDeDiDiBiBfLiDfHiCpAjFgAiJoGiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDC	:_xZkqqHx_jFgAiJoGjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	DrawFirstImageXXX_xZkqqHx_iBeB_xHqqkZx_RedrawMovingImageXXX_xZkqqHx_iBeB_xHqqkZx_DrawLastImageXXX _xZkqqHx_iCmN_xHqqkZx_
 *			_xZkqqHx_iDfKiDgCiDgHiBeC_xHqqkZx_
 *			_xZkqqHx_jFjEjFgJiInKjDkOiCmMiPoKiNiHiCpAiNgMiCkGiCoJiBeC_xHqqkZx_
 *			_xZkqqHx_iCfAiBeE_xHqqkZx_DrawFirstImageXXX _xZkqqHx_iCmFiNmFiPiJiCmMjFnCiPfHjApMiCpAjFgAiJoGiBeC_xHqqkZx_
 *			_xZkqqHx_iCfBiBeE_xHqqkZx_RedrawMovingImageXXX _xZkqqHx_iCmNiBeBiDhNiDeFiDfIiInKjDkOiOjOiCmJiBeBiInKjDkOjBePiCmMjFnCiPfHjApMiCpA_xHqqkZx_
 *				_xZkqqHx_iPmBiLiOiClFiBeBiOhHjCoIiLjHjHkDiClOiCkPiLjHjHkDiCpAiInKjDkOiBeBiInKjDkOiMoDiCmMjFnCiPfHjApMiCpAjFgAiJoGiBeC_xHqqkZx_
 *			_xZkqqHx_iCfCiBeE_xHqqkZx_DrawLastImageXXX _xZkqqHx_iCmFiNmFiMoDiCmMjFnCiPfHjApMiCpAiPmBiLiOiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.09.03 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
template<class SUPER_SUPER, class T_IDENTIFY>
void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::DrawLastImageXXX (T_IDENTIFY*, CDC* pDC)
{
	// _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiCpAiNoNiPjMiBeC_xHqqkZx_
	if (m_coMoveBit.m_hObject != NULL)
		m_coMoveBit.DeleteObject();
	// Baseclass_xZkqqHx_iKnGjAjEiOmAiNhDiBeC_xHqqkZx_
	BASE_CLASS::DrawLastImageXXX((T_IDENTIFY*)NULL, pDC);
} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::DrawLastImageXXX.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::MoveXXX
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	XXX_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiCpAiInKjDkOiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	vXxx		:XXX_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiCmMiDiKiDfIiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *			vmmptMove	:XXX_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiCmMiInKjDkOjHmKiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.09.03 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
template<class SUPER_SUPER, class T_IDENTIFY>
void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::MoveXXX (T_IDENTIFY*, const vector<FCObjDynabase*>& vXxx, const DBLPointVector& vmmptMove)
{
	// _xZkqqHx_iLeMjIfOiDfKiDgCiDfGiDiHiDjDiKeKiOgOiKnGjAjEiOmAiNhDiBeC_xHqqkZx_
	g_pDoc->SessionBegin();
	// _xZkqqHx_iInKjDkOjBePiPiIjHjNiBeC_xHqqkZx_
	LocalObjMovedBefore(vXxx);
	// _xZkqqHx_iInKjDkOiDfCiDhNiDjDiDgIiCpAjEkNiNhDiBeC_xHqqkZx_
	for (long lC = 0; lC != vXxx.size(); lC++)
		g_pDoc->CmdMove1Obj(vXxx[lC], vmmptMove[lC]);
	// _xZkqqHx_iInKjDkOiMoDiPiIjHjNiBeC_xHqqkZx_
	LocalObjMovedAfter();
	// _xZkqqHx_iLeMjIfOiDfKiDgCiDfGiDiHiDjDiCmMiPeJjHlJiBeC_xHqqkZx_
	g_pDoc->SessionEnd();
//----- 06.02.23 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	// _xZkqqHx_jBeJjBpAjFjEjFgJiCmMjFmPiNfIiCpAiClBiCmMiDgDiBfLiDiLiCmJjCmKjCgNiBeC_xHqqkZx_
//	OnSelectObjModified();
//----- 06.02.23 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::MoveXXX.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::MakeSelectBitmap
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jBeJjBpAiClDiCoKiClNjFjEjFgJiCmMjEjCiNjF_xHqqkZx_Bitmap_xZkqqHx_iCpAiNoMiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDC	:Bitmap_xZkqqHx_iCpAiNoMiCoJiInHiCmM_xHqqkZx_CDC_xZkqqHx_iCpAiNoMiCoJiInHiCmMiMlEjGhL_xHqqkZx_
 *
 * <_xZkqqHx_iPgPjHmN_xHqqkZx_>	m_coMoveBit		: Bitmap_xZkqqHx_iCpAiLeMjIfO_xHqqkZx_
 *			m_mmBitWidth	: Bitmap_xZkqqHx_iCmMjFjN_xHqqkZx_
 *			m_mmBitHeight	: Bitmap_xZkqqHx_iCmMiNiCiClD_xHqqkZx_
 *			m_mmptBitOffset	: _xZkqqHx_iDfOiBfLiDfBiDgCiDgHjFjEjFgJiNlGjCfLiCkJiCoH_xHqqkZx_Bitmap_xZkqqHx_iNlGjCfLiCmMiDeJiDhEiDfKiDgCiDgH_xHqqkZx_
 *
 * <_xZkqqHx_iPoOjFpB_xHqqkZx_>
 *	_xZkqqHx_iDeBiDiLiDfDiDiKiDfJiDiA_xHqqkZx_
 *	1. _xZkqqHx_jBeJjBpAjCiGiCmMjFjEjFgJiCmJjBmOiClFiCmEiImIiJlKiCpAjClCiCnHiCoJ_xHqqkZx_
 *		dMostLeft   : _xZkqqHx_jFjEjFgJiCmMiNmFiNlGiNmAjFfH_xHqqkZx_
 *		dMostTop    : _xZkqqHx_jFjEjFgJiCmMiNmFiPoDiNmAjFfH_xHqqkZx_
 *		dMostRight  : _xZkqqHx_jFjEjFgJiCmMiNmFiJeFiNmAjFfH_xHqqkZx_
 *		dMostBottom : _xZkqqHx_jFjEjFgJiCmMiNmFiJlKiNmAjFfH_xHqqkZx_
 *		fMaxWidth   : _xZkqqHx_jFjEjFgJiCmMiNmFjBoFjApMjFjN_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	02.01.14 Fukushiro M. _xZkqqHx_iPeDjAlD_xHqqkZx_
 *************************************************************************/
template<class SUPER_SUPER, class T_IDENTIFY>
void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::MakeSelectBitmap (CDC* pDC)
{
	// _xZkqqHx_iInKjDkOjHhAiDhCiDgCiDgHiDhNiDgCiDhGiNoMjAkMiOjOiCmMiDfJiBfLiDiAjCgMiBeC_xHqqkZx_
	// _xZkqqHx_jFjEjFgJiInKjDkOiOjOiCmJiBeB_xHqqkZx_Ctrl+Wheel_xZkqqHx_iCmFiDfJiBfLiDiAjCgMiCkKjFmPiNfIiClDiCoKiClNiPoKiNiHiCmJjBmOiJjOiBeC_xHqqkZx_
	m_dBitZoom = g_->dZoom;
	ObjDynabaseVector::const_iterator iObj;
	//----- _xZkqqHx_jBeJjBpAjCiGiCmMjFjEjFgJiCpAiImNiCkEiNmFiPkMiCmMiLoJiMgAiLhJiCnBiNmFiCoAjBlOiCkCjApMiCpAiLiBiCnPiCoJ_xHqqkZx_ -----
	iObj = GetSelectLocalObjVector().begin();
	DBLRect	mmrtMost = (*iObj)->GetOuterFrame();

	for (; iObj != GetSelectLocalObjVector().end(); iObj++)
	{
		DBLRect mmrtTmp = (*iObj)->GetOuterFrame();
		if (mmrtTmp.left < mmrtMost.left)	mmrtMost.left = mmrtTmp.left;
		if (mmrtMost.right < mmrtTmp.right)	mmrtMost.right = mmrtTmp.right;
		if (mmrtTmp.top < mmrtMost.top)		mmrtMost.top = mmrtTmp.top;
		if (mmrtMost.bottom < mmrtTmp.bottom)mmrtMost.bottom = mmrtTmp.bottom;
	}
	// _xZkqqHx_jEePiCmMiInHiBeBiDiKiDfEiDeDiDfJiDhNiBfLiDeOiCmMjFkKiNeMiClAiCoJiBeC_xHqqkZx_
	DBLRect mmrtBmp = mmrtMost.ExtendRect(lg2mm(FCEditDraw::GetGeneralMarkSizeHalf() + 1));

	// _xZkqqHx_iJoGjGmKiCmMjFgAiJoGjHmMiIoGiCpAiOoGjDlOiBeC_xHqqkZx_
	DBLRect mmrtClient;
	g_pView->GetClientRectMM(mmrtClient);
	// _xZkqqHx_iNlGiDhLiDfOiDjDiCkKiJjPiClDiCoKiClNiDhNiDeFiDfIiNmAjFfHiCpAjCiGjAfDiCmJiBeBiJoGjGmKiCfCjEhLiCmMiDeHiDiKiDeBiCpA_xHqqkZx_
	// _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiNoMjAkMiCmMjBmOiPnLiCmGiClHiCoJiBeC_xHqqkZx_
	// _xZkqqHx_jFjEjFgJiInKjDkOjCiGiCmJiBeB_xHqqkZx_Ctrl+_xZkqqHx_iDhKiDeDiBfLiDiLiCmFiDfJiBfLiDiAiCkKjFmPiNfIiClDiCoKiClNiPoKiNiHiBeB_xHqqkZx_
	// _xZkqqHx_iNlGiDhLiDfOiDjDiCkKiJjPiClDiCoKiClNiPoKiPiKiCpAjCiGjAfDiCmJiClFiCmIiCkCiCmGiBeBiDhCiDgCiDgHiDhNiDgCiDhGiCmM_xHqqkZx_
	// _xZkqqHx_iNmEiNoMjAkMiCkKiCkEiCnMiCkNiCkCiCkJiCmIiCkCiPoKiNiHiCkKiCkAiCoJiClNiCnPiBeC_xHqqkZx_
	DBLRect mmrtFrame(m_mmptButtonDownFirst, m_mmptButtonDownFirst);
	mmrtFrame.Extend(1.5 * mmrtClient.Width(), 1.5 * mmrtClient.Height());

	//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiLoJiMgAiCmMiNmFjBoFiCpAjFgAiJoGjHmMiIoGiCmM_xHqqkZx_3_xZkqqHx_jEhLiCmJiMmAjCoIiClHiCoJ_xHqqkZx_ -----
	mmrtBmp = mmrtBmp & mmrtFrame;

	//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiCmMjBoFiCkLiClDiCpAiMhGiOfKiClHiCoJ_xHqqkZx_ -----
	m_mmBitWidth  = mmrtBmp.Width();
	m_mmBitHeight = mmrtBmp.Height();

	//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiCmGjBeJjBpAjFjEjFgJiCmMiNmAjFfHiCmMiNlHiCpAiMhGiOfKiClHiCoJ_xHqqkZx_ -----
	DBLRect mmrtTmp = GetHitXXX((T_IDENTIFY*)NULL)->GetResizeFrame();
	m_mmptBitOffset.x = mmrtBmp.left - mmrtTmp.left;
	m_mmptBitOffset.y = mmrtBmp.top - mmrtTmp.top;

	// _xZkqqHx_jBePiJpBiCmMiDhCiDgCiDgHiDhNiDgCiDhGiCkKiOgDiCmBiCmEiCkCiCoJiPoKiNiHiCmNiNoNiPjMiBeC_xHqqkZx_
	if (m_coMoveBit.m_hObject != NULL) m_coMoveBit.DeleteObject();
	// _xZkqqHx_jAfGiClNiCmJiDhCiDgCiDgHiDhNiDgCiDhGiCpAiNoMjAkM_xHqqkZx_.
	m_coMoveBit.CreateBitmap(mm2lg(m_mmBitWidth), mm2lg(m_mmBitHeight), 1, 1, NULL);
	// _xZkqqHx_jFgAiJoGjHhA_xHqqkZx_CDC_xZkqqHx_iCmJiDhCiDgCiDgHiDhNiDgCiDhGiCpAjAnNjCoI_xHqqkZx_.
	CDC	dcMem;
	dcMem.CreateCompatibleDC(pDC);
	dcMem.SelectObject(&m_coMoveBit);

	//----- _xZkqqHx_jBeJjBpAjFjEjFgJiKePjAnKiLoJiMgAiCmMiNlGiPoDiNmAjFfHiCpAiMlEjDfPiCmJiPeDjAlDiClFiCmEiBeBjFgAiJoG_xHqqkZx_ -----
	dcMem.SetWindowOrg(0, 0);
	CRect lgrtFRect(0, 0, mm2lg(m_mmBitWidth), mm2lg(m_mmBitHeight));
	dcMem.FillRect(lgrtFRect,
				CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
	g_pView->AddRgn(mmrtFrame);

	//----- _xZkqqHx_iDfIiDeOiDiNiBfLiDiLiDeJiDhEiDfKiDgCiDgHiCpAjClCjAkOiClFiCmEiBeB_xHqqkZx_(0,0)_xZkqqHx_iCkKiNlGiPoDiCmJiCkNiCoJiCoGiCkEiCmJiClHiCoJ_xHqqkZx_ -----
	const long lgOffsetX = g_->lgOffsetX;
	const long lgOffsetY = g_->lgOffsetY;
	g_->lgOffsetX = mm2lg(mmrtBmp.left);
	g_->lgOffsetY = mm2lg(mmrtBmp.top);
	// _xZkqqHx_iPoOjFpBiCpAjBnCjEpA_xHqqkZx_.
	pDC->SaveDC();
	for (iObj = GetSelectLocalObjVector().begin();
		 iObj != GetSelectLocalObjVector().end(); iObj++)
	{
		(*iObj)->OnDraw(&dcMem, TRUE);
	}
	// _xZkqqHx_jBnCjEpAiClFiClNiPoOjFpBiCpAjFjMiLeB_xHqqkZx_.
	pDC->RestoreDC(-1);
	g_->lgOffsetX = lgOffsetX;
	g_->lgOffsetY = lgOffsetY;

	g_pView->ClearRgn();

	//----- _xZkqqHx_jHmMiIoGiCmMiDhCiDgCiDgHiDhNiDgCiDhGiCpAjElNjDfNiClHiCoJ_xHqqkZx_ -----
	CRgn rgn;
	rgn.CreateRectRgnIndirect(&lgrtFRect);
	dcMem.InvertRgn(&rgn);
	rgn.DeleteObject();

	dcMem.DeleteDC();
} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::MakeSelectBitmap.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::CheckHitLocalResizeMark
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDiKiDfEiDeDiDfJiDhNiBfLiDeOiPoDiCmFiCmMiDhNiDeFiDfIiDhBiDgCiDgHiCpAjClCiCnHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDhBiDgCiDgHiClFiClNiPoKiNiHiCmN_xHqqkZx_ TRUE_xZkqqHx_iBeBiClFiCmIiCkCiPoKiNiHiCmN_xHqqkZx_ FALSE _xZkqqHx_iCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	m_pHitSzObj_xZkqqHx_iBeB_xHqqkZx_m_nHitSzHandle_xZkqqHx_iBeB_xHqqkZx_m_mmptHitSzPoint _xZkqqHx_iCmJiDhBiDgCiDgHiClFiClNiPoOjFpBiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	00.01.14 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
template<class SUPER_SUPER, class T_IDENTIFY>
BOOL FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::CheckHitLocalResizeMark ()
{
	// _xZkqqHx_iMjPiNpFiMiLiJmKiCmMjFmPjAjEiCpAiPiJiKpKiJlLiBeC_xHqqkZx_
	m_pHitSzObj = NULL;
	m_nHitSzHandle = FD_HIT_NONE;
	// _xZkqqHx_jBeJjBpAjCiGjFjEjFgJiCmMjFnCiPfHjFhDiJmCiCmMiPoKiNiHiCmNjFjMiLeBiBeC_xHqqkZx_
	if (!FFCanEditSelected()) return FALSE;
	short nHandle;		// _xZkqqHx_iDeKiBfLiDfMiDiLiBeC_xHqqkZx_
	DBLPoint mmptPoint;
	//----- _xZkqqHx_iDhNiDeFiDfIiInKjDkOjCiGiCmJjBeJjBpAjFjEjFgJiCmMiPoDiCmJiPoGiCmBiClNiOjOiCmMiPiIjHjN_xHqqkZx_ -----
	ObjDynabaseVector::const_reverse_iterator rObj;
	for (rObj = GetSelectLocalObjVector().rbegin();
		 rObj != GetSelectLocalObjVector().rend(); rObj++)
	{
		nHandle = (*rObj)->HitTest(mmptPoint, m_mmptMsc);
		if (nHandle)
		//----- _xZkqqHx_iDeKiBfLiDfMiDiLiCmMiMgAiPpDjFmPiNfI_xHqqkZx_ -----
		{
			m_pHitSzObj = *rObj;
			m_nHitSzHandle = nHandle;
			m_mmptHitSzPoint = mmptPoint;
			return TRUE;
		}
	}
	// _xZkqqHx_iDhBiDgCiDgHiClFiCmIiCkCiBeC_xHqqkZx_
	return FALSE;
} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::CheckHitLocalResizeMark.

//----- 05.09.04 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::MoveObjSnap
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iOhHjCoIiClDiCoKiClNjFpLiMpMiCmJiBeBjFjEjFgJiCpAiDfIiDgJiDgCiDhGjCfAiImKiCmFiInKjDkOiClHiCoJiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	lHorzDirection	:_xZkqqHx_jAiFjFlNjFpLiMpMiCmMiInKjDkOjHmKiCpAiOhHjCoIiClHiCoJiBeCjCmKiPoNiCmN_xHqqkZx_ -1_xZkqqHx_iBeB_xHqqkZx_0_xZkqqHx_iBeB_xHqqkZx_+1_xZkqqHx_iBeC_xHqqkZx_
// *			lVertDirection	:_xZkqqHx_jAiCjClMjFpLiMpMiCmMiInKjDkOjHmKiCpAiOhHjCoIiClHiCoJiBeCjCmKiPoNiCmN_xHqqkZx_ -1_xZkqqHx_iBeB_xHqqkZx_0_xZkqqHx_iBeB_xHqqkZx_+1_xZkqqHx_iBeC_xHqqkZx_
// *
// * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	ALT_xZkqqHx_iDeMiBfLiCpAiJjPiClFiCmIiCkKiCoHiInKjDkOiClHiCoJiPoKiNiHiCmNiInKjDkOjHmKiCkKjAjEjFkKiCmMiCfAiCmJiCmIiCoJiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.03.02 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//template<class SUPER_SUPER, class T_IDENTIFY>
//void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::MoveObjSnap (long lHorzDirection, long lVertDirection)
//{
//	// _xZkqqHx_iNmFiMoDiCmJjBeJjBpAiClDiCoKiClNjFjEjFgJiCpAiKoOiPiAjFjEjFgJiCmGiClFiCmEiOoGjDlOiBeC_xHqqkZx_
//	FCObjDynabase* pObjFix = GetLastSelectLocalObj();
//	if (pObjFix == NULL) return;
//
//	// _xZkqqHx_iKoOiPiAjFjEjFgJiCmMjBoFiCkLiClDiCpAiOoGjDlOiBeC_xHqqkZx_
//	DBLRect mmrtFix = pObjFix->GetResizeFrame();
//	// _xZkqqHx_jAfGiClFiCkCjFjEjFgJiImKjChFiCpAiJlMiMiIiCnPiBeC_xHqqkZx_
//	DBLPoint mmptNew(mmrtFix.left, mmrtFix.top);
//	FFSnapMoveMP(mmptNew, lHorzDirection, lVertDirection);
//	// _xZkqqHx_jGhLjDjGiCmMiInKjDkOiLjHjHkDiCpAiOfKiPgPiBeC_xHqqkZx_
//	mmetol mmDX = mmptNew.x - mmrtFix.left;
//	mmetol mmDY = mmptNew.y - mmrtFix.top;
//
//	// _xZkqqHx_iInKjDkOiLjHjHkDiCePiCmMiPoKiNiHiCmNjFjMiLeBiBeCiCkAiCoIiCkGiCmIiCkCiCkKiBeBjEePiCmMiClNiCnPiBeC_xHqqkZx_
//	if (mmDX == 0.0 && mmDY == 0.0) return;
//
//	// _xZkqqHx_iLeMjIfOiDfKiDgCiDfGiDiHiDjDiKeKiOgOiKnGjAjEiOmAiNhDiBeC_xHqqkZx_
//	g_pDoc->SessionBegin();
//	// _xZkqqHx_iInKjDkOjBePiPiIjHjNiBeC_xHqqkZx_
//	LocalObjMovedBefore(GetSelectLocalObjVector());
//	// _xZkqqHx_iInKjDkOiDfCiDhNiDjDiDgIiCpAjEkNiNhDiBeC_xHqqkZx_
//	if (GetSelectLocalObjVector().size() == 1)
//		g_pDoc->CmdMove1Obj(GetSelectLocalObjVector().back(), DBLPoint(mmDX, mmDY));
//	else
//		g_pDoc->CmdMoveObjs(GetSelectLocalObjVector(), DBLPoint(mmDX, mmDY));
//
//	// _xZkqqHx_iInKjDkOiMoDiPiIjHjNiBeC_xHqqkZx_
//	LocalObjMovedAfter(GetSelectLocalObjVector());
//	// _xZkqqHx_iLeMjIfOiDfKiDgCiDfGiDiHiDjDiCmMiPeJjHlJiBeC_xHqqkZx_
//	g_pDoc->SessionEnd();
////----- 05.06.07 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
//	// _xZkqqHx_jBeJjBpAjFjEjFgJiCmMjFmPiNfIiCpAiClBiCmMiDgDiBfLiDiLiCmJjCmKjCgNiBeC_xHqqkZx_
//	OnSelectObjModified();
////----- 05.06.07 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
//} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::MoveObjSnap.
//----- 05.09.04 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::GetResizeHintText
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDiKiDfEiDeDiDfJiOjOiCmMjCmHjAnFiDhBiDjDiDgHjFfMiOkGjFlGiOjKjHpBiCpAiNoMjAkMiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	wstrHint	:_xZkqqHx_jFlGiOjKjHpBiCpAjFnEiClHiBeC_xHqqkZx_
 *			mmrtFrame	:_xZkqqHx_iDiKiDfEiDeDiDfJjCiGiCmMiDhEiDiMiBfLiDiAiNmAjFfHiCpAiOhHjCoIiBeC_xHqqkZx_
 *						 left < right, top < bottom _xZkqqHx_iCmFiCmIiCkPiCoKiCmOiCmIiCoHiCmIiCkCiBeC_xHqqkZx_
 *			dRatioX		:_xZkqqHx_jFjNiCmMiKgHjBoFjHkGiCpAiOhHjCoIiBeC_xHqqkZx_
 *			dRatioY		:_xZkqqHx_iNiCiClDiCmMiKgHjBoFjHkGiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
template<class SUPER_SUPER, class T_IDENTIFY>
void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::GetResizeHintText (
										WString& wstrHint,
										const DBLRect& mmrtFrame,
										double dRatioX,
										double dRatioY) const
{
	//	_xZkqqHx_iNlGiPoDiNmAjFfH_xHqqkZx_: (%f, %f)\r\n
	//	_xZkqqHx_iJeFiJlKiNmAjFfH_xHqqkZx_: (%f, %f)\r\n
	//	_xZkqqHx_jFjN_xHqqkZx_ x _xZkqqHx_iNiCiClD_xHqqkZx_: (%f, %f)\r\n
	//	_xZkqqHx_iKgHjBoFjHkG_xHqqkZx_: (%f, %f)
	wstrHint.Format(FFLoadWString(IDS_FORM_RESIZE_HINT).c_str(),
					mm2hi(mmrtFrame.left), mm2hi(mmrtFrame.top),
					mm2hi(mmrtFrame.right), mm2hi(mmrtFrame.bottom),
					mm2hi(mmrtFrame.Width()), mm2hi(mmrtFrame.Height()),
					100.0 * dRatioX, 100.0 * dRatioY);
} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::GetResizeHintText.

//----- 06.12.09 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnDrawState
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	View_xZkqqHx_iCmM_xHqqkZx_OnDraw_xZkqqHx_iCkJiCoHiOmAiNhDiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDC		:_xZkqqHx_jFfMiOkGjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *			pmmrtRgn:_xZkqqHx_iDiKiBfLiDfHiDiHiDjDjEhKjHpBiCpAiOhHjCoIiBeCiOgHiCoNiCmIiCkCiPoKiNiHiCmN_xHqqkZx_NULL_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *			lRgnSize:pmmrtRgn_xZkqqHx_iCmMjEhKjHpBiDfEiDeDiDfJiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	00.03.11 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
template<class SUPER_SUPER, class T_IDENTIFY>
void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnDrawState (CDC* pDC, int iState)
{
	// FDA_xZkqqHx_iCmMiMlLiNnNiCmMiPpDjBnEiBeC_xHqqkZx_
	switch (iState)
	{
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	case STATE_MOVING_OBJ:		// _xZkqqHx_jFjEjFgJiInKjDkOjCiGiBeC_xHqqkZx_
//	  {
//		// _xZkqqHx_iInKjDkOjHhAiDhCiDgCiDgHiDhNiDgCiDhGiNoMjAkMiOjOiCmMiDfJiBfLiDiAjCgMiCmGiInJiCmIiCoJiPoKiNiHiCmNiBeB_xHqqkZx_
//		// _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiDeDiDiBiBfLiDfHiCpAiNoMjAkMiClFiCmIiCkIiClHiBeC_xHqqkZx_
//		// _xZkqqHx_jFjEjFgJiInKjDkOiOjOiCmJiBeB_xHqqkZx_Ctrl+Wheel_xZkqqHx_iCmFiDfJiBfLiDiAjCgMiCkKjFmPiNfIiClDiCoKiClNiPoKiNiHiCmJjBmOiJjOiBeC_xHqqkZx_
//		if (m_dBitZoom != g_->dZoom) MakeSelectBitmap(pDC);
//		//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGjHhA_xHqqkZx_CDC_xZkqqHx_iNoMjAkM_xHqqkZx_ -----
//		CDC	dcMem;
//		dcMem.CreateCompatibleDC(pDC);
//		CBitmap* pbmOld = dcMem.SelectObject(&m_coMoveBit);
//
//		//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiCpAjFgAiJoG_xHqqkZx_ -----
//		FCAutoDC(pDC).BitBlt(mm2lg(m_mmptBitLT.x), mm2lg(m_mmptBitLT.y),
//						mm2lg(m_mmBitWidth), mm2lg(m_mmBitHeight), &dcMem, 0, 0, SRCINVERT);
//		//----- _xZkqqHx_iMlDiCmMiDhCiDgCiDgHiDhNiDgCiDhGiCmJjGnPiClFiCmEiBeBiPeJjHlJ_xHqqkZx_ -----
//		dcMem.SelectObject(pbmOld);
//		dcMem.DeleteDC();
//		break;
//	  }
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
	case STATE_RESIZING:			// _xZkqqHx_iDiKiDfEiDeDiDfJjCiGiBeC_xHqqkZx_
		m_resizeWork.DrawCurFrame(pDC);
		break;
	}
	// Superclass_xZkqqHx_iKnGjAjEiOmAiNhDiBeC_xHqqkZx_
	BASE_CLASS::OnDrawState(pDC, iState);
} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::OnDrawState.
//----- 06.12.09 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::TransFDA
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iMiIjCoIjAkLjHeMiMmAiDeJiBfLiDgHiDhNiDgHiDjDiCmMjBeKiInKiCpAjFnEiClHiBeC_xHqqkZx_ToolPoly.mdrw_xZkqqHx_iCpAiOfBiPmGiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	iState	:_xZkqqHx_iMlLiNnNiCmMiPpDjBnEiCpAiOhHjCoIiBeC_xHqqkZx_
 *			iEvent	:_xZkqqHx_iDeDiDhIiDjDiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_jBeKiInKiMoDiCmMiPpDjBnEiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.08.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
template<class SUPER_SUPER, class T_IDENTIFY>
int FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::TransFDA (int iState, int iEvent)
{
	// _xZkqqHx_iInKiNhDjAoGiPpDjBnEiBeC_xHqqkZx_
	int iNextState = STATE_NONE;	// _xZkqqHx_iPpDjBnEjGlDiClFiBeC_xHqqkZx_

	// FDA_xZkqqHx_iCmMiMlLiNnNiCmMiPpDjBnEiBeC_xHqqkZx_
	switch (iState)
	{
	case STATE_IDLE:				// _xZkqqHx_jBnCiClPiBeC_xHqqkZx_
		if (FFCanEditObject())
		//----- _xZkqqHx_jFjEjFgJjFnCiPfHiJmCjEfMiCmMiPoKiNiH_xHqqkZx_ -----
		{
			switch (iEvent)
			{
			case WM_LBUTTONDOWN:	// _xZkqqHx_iNlGiDhLiDfOiDjDiDfPiDeFiDjDiBeC_xHqqkZx_
				// _xZkqqHx_iDhNiDeFiDfIiNmAjFfHiCmFiCmMiDhBiDgCiDgHiPpDjBnEiCpAjClCiCnHiCoJiBeC_xHqqkZx_
				if (CheckHitLocalResizeMark())
					iNextState = STATE_ENTER_RESIZE;	// _xZkqqHx_iDiKiDfEiDeDiDfJjDpMiMpLiBeC_xHqqkZx_
				break;
			case WM_RBUTTONDOWN:	// _xZkqqHx_iJeFiDhLiDfOiDjDiDfPiDeFiDjDiBeC_xHqqkZx_
				if (!IsControl())
				{
					// _xZkqqHx_iDhNiDeFiDfIiNmAjFfHiCmFiCmMiDhBiDgCiDgHiPpDjBnEiCpAjClCiCnHiCoJiBeC_xHqqkZx_
					if (CheckHitLocalResizeMark())
						iNextState = STATE_ENTER_RESIZE;	// _xZkqqHx_iDiKiDfEiDeDiDfJjDpMiMpLiBeC_xHqqkZx_
				}
				break;
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//			case WM_KEYDOWN:		// _xZkqqHx_iDeMiBfLiDfPiDeFiDjDiBeC_xHqqkZx_
//				// _xZkqqHx_jBeJjBpAjCiGjFjEjFgJiCmMjFnCiPfHiJmCiBjFiDeKiBfLiDfMiDiLiDeMiBfLiCmIiCoHiCmOiBeB_xHqqkZx_
//				// _xZkqqHx_iDfIiDgJiDgCiDhGiInKjDkOiBeCiBgJiJlMjBhKiDeMiBfLiCmFiCoAjBoFiPoEjFhGiBgK_xHqqkZx_
//				if (FFCanEditSelected() && (m_dwChar == VK_LEFT || m_dwChar == VK_UP ||
//											m_dwChar == VK_RIGHT || m_dwChar == VK_DOWN))
//					iNextState = STATE_DO_MOVE_OBJ_SNAP;	// _xZkqqHx_jFjEjFgJiDfIiDgJiDgCiDhGiInKjDkOiBeC_xHqqkZx_
//				break;
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
			}
		}
		break;
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	case BASE_BASE_CLASS::STATE_PRE_UNSEL_XXX:			// XXX_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHjBeJjBpAiJpAiPjMjBePiBeC_xHqqkZx_
//		switch (iEvent)
//		{
//		case WM_MOUSEMOVE:	// _xZkqqHx_iDhNiDeFiDfIiInKjDkOiBeC_xHqqkZx_
//			// _xZkqqHx_jBeJjBpAjFjEjFgJjFnCiPfHiJmCjEfMiCmIiCoHiCmOiBeBiOjPiCnGiBeC_xHqqkZx_
//			if (FFCanEditSelected())
//				iNextState = STATE_START_MOVE_OBJ;		// _xZkqqHx_jFjEjFgJiInKjDkOiKeKiOgOiBeC_xHqqkZx_
//			break;
//		}
//		break;
//	case BASE_BASE_CLASS::STATE_CLRSEL_SEL_XXX:			// XXX_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHjBeJjBpAiPmBiLiOjCmHiJmBiBeC_xHqqkZx_
//		switch (iEvent)
//		{
//		case WM_MOUSEMOVE:	// _xZkqqHx_iDhNiDeFiDfIiInKjDkOiBeC_xHqqkZx_
//			// _xZkqqHx_jBeJjBpAjFjEjFgJjFnCiPfHiJmCjEfMiCmIiCoHiCmOiBeBiOjPiCnGiBeC_xHqqkZx_
//			if (FFCanEditSelected())
//				iNextState = STATE_START_MOVE_OBJ;	// _xZkqqHx_jFjEjFgJiInKjDkOiKeKiOgOiBeC_xHqqkZx_
//			break;
//		}
//		break;
//	case STATE_START_MOVE_OBJ:		// _xZkqqHx_jFjEjFgJiInKjDkOiKeKiOgOiBeC_xHqqkZx_
//		iNextState = STATE_MOVING_OBJ;		// _xZkqqHx_jFjEjFgJiInKjDkOjCiGiBeC_xHqqkZx_
//		break;
//	case STATE_MOVING_OBJ:			// _xZkqqHx_jFjEjFgJiInKjDkOjCiGiBeC_xHqqkZx_
//		switch (iEvent)
//		{
//		case WM_MOUSEMOVE:		// _xZkqqHx_iDhNiDeFiDfIiInKjDkOiBeC_xHqqkZx_
//			iNextState = STATE_MOVING_OBJ;		// _xZkqqHx_jFjEjFgJiInKjDkOjCiGiBeC_xHqqkZx_
//			break;
//		case WM_LBUTTONUP:		// _xZkqqHx_iNlGiDhLiDfOiDjDiDeBiDgCiDhGiBeC_xHqqkZx_
//		case WM_RBUTTONUP:		// _xZkqqHx_iJeFiDhLiDfOiDjDiDeBiDgCiDhGiBeC_xHqqkZx_
//			iNextState = STATE_STOP_MOVE_OBJ;	// _xZkqqHx_jFjEjFgJiInKjDkOiPeJjHlJiBeC_xHqqkZx_
//			break;
//		}
//		break;
//	case STATE_STOP_MOVE_OBJ:		// _xZkqqHx_jFjEjFgJiInKjDkOiPeJjHlJiBeC_xHqqkZx_
//		iNextState = STATE_DO_MOVE_OBJ;		// _xZkqqHx_jFjEjFgJiInKjDkOiPiIjHjNiBeC_xHqqkZx_
//		break;
//	case STATE_DO_MOVE_OBJ:			// _xZkqqHx_jFjEjFgJiInKjDkOiPiIjHjNiBeC_xHqqkZx_
//		iNextState = BASE_BASE_CLASS::STATE_EXIT_SELECT_XXX;		// XXX_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHjBeJjBpAiPgPiMpLiBeC_xHqqkZx_
//		break;
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
	case STATE_ENTER_RESIZE:		// _xZkqqHx_iDiKiDfEiDeDiDfJjDpMiMpLiBeC_xHqqkZx_
		switch (iEvent)
		{
		case WM_MOUSEMOVE:	// _xZkqqHx_iDhNiDeFiDfIiInKjDkOiBeC_xHqqkZx_
			iNextState = STATE_START_RESIZE;	// _xZkqqHx_iDiKiDfEiDeDiDfJiKeKiOgOiBeC_xHqqkZx_
			break;
		case WM_LBUTTONUP:	// _xZkqqHx_iNlGiDhLiDfOiDjDiDeBiDgCiDhGiBeC_xHqqkZx_
		case WM_RBUTTONUP:	// _xZkqqHx_iJeFiDhLiDfOiDjDiDeBiDgCiDhGiBeC_xHqqkZx_
			iNextState = STATE_EXIT_RESIZE;		// _xZkqqHx_iDiKiDfEiDeDiDfJiPgPiMpLiBeC_xHqqkZx_
			break;
		}
		break;
	case STATE_START_RESIZE:		// _xZkqqHx_iDiKiDfEiDeDiDfJiKeKiOgOiBeC_xHqqkZx_
		iNextState = STATE_RESIZING;			// _xZkqqHx_iDiKiDfEiDeDiDfJjCiGiBeC_xHqqkZx_
		break;
	case STATE_RESIZING:			// _xZkqqHx_iDiKiDfEiDeDiDfJjCiGiBeC_xHqqkZx_
		switch (iEvent)
		{
		case WM_MOUSEMOVE:	// _xZkqqHx_iDhNiDeFiDfIiInKjDkOiBeC_xHqqkZx_
			iNextState = STATE_RESIZING;		// _xZkqqHx_iDiKiDfEiDeDiDfJjCiGiBeC_xHqqkZx_
			break;
		case WM_LBUTTONUP:	// _xZkqqHx_iNlGiDhLiDfOiDjDiDeBiDgCiDhGiBeC_xHqqkZx_
		case WM_RBUTTONUP:	// _xZkqqHx_iJeFiDhLiDfOiDjDiDeBiDgCiDhGiBeC_xHqqkZx_
			iNextState = STATE_STOP_RESIZE;		// _xZkqqHx_iDiKiDfEiDeDiDfJiPeJjHlJiBeC_xHqqkZx_
			break;
		}
		break;
	case STATE_STOP_RESIZE:			// _xZkqqHx_iDiKiDfEiDeDiDfJiPeJjHlJiBeC_xHqqkZx_
		iNextState = STATE_EXIT_RESIZE;		// _xZkqqHx_iDiKiDfEiDeDiDfJiPgPiMpLiBeC_xHqqkZx_
		break;
	case STATE_EXIT_RESIZE:			// _xZkqqHx_iDiKiDfEiDeDiDfJiPgPiMpLiBeC_xHqqkZx_
		iNextState = STATE_IDLE;			// _xZkqqHx_jBnCiClPiBeC_xHqqkZx_
		break;
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	case STATE_DO_MOVE_OBJ_SNAP:	// _xZkqqHx_jFjEjFgJiDfIiDgJiDgCiDhGiInKjDkOiBeC_xHqqkZx_
//		iNextState = STATE_IDLE;			// _xZkqqHx_jBnCiClPiBeC_xHqqkZx_
//		break;
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
	}
	// _xZkqqHx_iPpDjBnEjBeKiInKjGlDiClFiCmMiPoKiNiHiCmNiDfIiBfLiDhAiBfLiDeOiDiJiDfIiCmMiPpDjBnEjBeKiInKiCpAiMmEiCnBiPgPiClHiBeC_xHqqkZx_
	if (iNextState == STATE_NONE)
		iNextState = BASE_CLASS::TransFDA(iState, iEvent);
	return iNextState;
} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::TransFDA.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateFDA
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iPpDjBnEiCmJiJjOiClGiClNiPiIjHjNiCpAiOmAiNhDiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	iState	:_xZkqqHx_iMlLiNnNiCmMiPpDjBnEiCpAiOhHjCoIiBeC_xHqqkZx_
 *			pDC		:_xZkqqHx_jFgAiJoGjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.08.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
template<class SUPER_SUPER, class T_IDENTIFY>
void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateFDA (int iState, CDC* pDC)
{
	// FDA_xZkqqHx_iCmMiOjPiCmMiPpDjBnEiBeC_xHqqkZx_
	switch (iState)
	{
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	case STATE_START_MOVE_OBJ:		// _xZkqqHx_jFjEjFgJiInKjDkOiKeKiOgOiBeC_xHqqkZx_
//		StateStartMoveObj(pDC);
//		break;
//	case STATE_MOVING_OBJ:			// _xZkqqHx_jFjEjFgJiInKjDkOjCiGiBeC_xHqqkZx_
//		StateMovingObj(pDC);
//		break;
//	case STATE_STOP_MOVE_OBJ:		// _xZkqqHx_jFjEjFgJiInKjDkOiPeJjHlJiBeC_xHqqkZx_
//		StateStopMoveObj(pDC);
//		break;
//	case STATE_DO_MOVE_OBJ:			// _xZkqqHx_jFjEjFgJiInKjDkOiPiIjHjNiBeC_xHqqkZx_
//		StateDoMoveObj(pDC);
//		break;
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
	case STATE_ENTER_RESIZE:		// _xZkqqHx_iDiKiDfEiDeDiDfJjDpMiMpLiBeC_xHqqkZx_
		StateEnterResize(pDC);
		break;
	case STATE_START_RESIZE:		// _xZkqqHx_iDiKiDfEiDeDiDfJiKeKiOgOiBeC_xHqqkZx_
		StateStartResize(pDC);
		break;
	case STATE_RESIZING:			// _xZkqqHx_iDiKiDfEiDeDiDfJjCiGiBeC_xHqqkZx_
		StateResizing(pDC);
		break;
	case STATE_STOP_RESIZE:			// _xZkqqHx_iDiKiDfEiDeDiDfJiPeJjHlJiBeC_xHqqkZx_
		StateStopResize(pDC);
		break;
	case STATE_EXIT_RESIZE:			// _xZkqqHx_iDiKiDfEiDeDiDfJiPgPiMpLiBeC_xHqqkZx_
		StateExitResize(pDC);
		break;
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	case STATE_DO_MOVE_OBJ_SNAP:	// _xZkqqHx_jFjEjFgJiDfIiDgJiDgCiDhGiInKjDkOiBeC_xHqqkZx_
//		StateDoMoveObjSnap(pDC);
//		break;
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
	default:
		BASE_CLASS::StateFDA(iState, pDC);
	}
} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateFDA.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateIdle
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jBnCiClPiPiIjHjNiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDC	:_xZkqqHx_jFgAiJoGjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	00.01.14 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
template<class SUPER_SUPER, class T_IDENTIFY>
void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateIdle (CDC* pDC)
{
//	TRACE(_T("FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateIdle\r\n"));

	// _xZkqqHx_iDhNiDeFiDfIiNmAjFfHiCmFiCmMiDhBiDgCiDgHiPpDjBnEiCpAjClCiCnHiCoJiBeC_xHqqkZx_
	if (CheckHitLocalResizeMark())
		SetIdleCursor(m_pHitSzObj->GetHandleCursor(m_nHitSzHandle));
	// _xZkqqHx_iDhBiDgCiDgHiDeKiBfLiDfMiDiLiCpAjGlDiMpIiCmJiClHiCoJiBeC_xHqqkZx_
	m_iCursorNew = FDPA_HIT_NONE;
	// _xZkqqHx_iDiLiBfLiDiJiBfLiDhNiDeFiDfIiDhNiBfLiDeKiBfLiBjFiDfIiDgFiBfLiDfOiDfIjFfMiOkGiBeC_xHqqkZx_
	BASE_CLASS::StateIdle(pDC);
} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateIdle.

//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateStartMoveObj
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFjEjFgJiInKjDkOiKeKiOgOiPiIjHjNiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDC	:_xZkqqHx_jFgAiJoGjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	00.01.14 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//template<class SUPER_SUPER, class T_IDENTIFY>
//void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateStartMoveObj (CDC* pDC)
//{
//	TRACE(_T("FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateStartMoveObj\r\n"));
//	//----- _xZkqqHx_iInKjDkOjApMjAnNjCoIiPiIjHjN_xHqqkZx_ -----
//// 05.09.02 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
////	const DBLRect mmrtFrame = GetHitXXX((T_IDENTIFY*)NULL)->GetResizeFrame();
//	const DBLRect mmrtFrame = GetFrameRectXXX((T_IDENTIFY*)NULL, GetHitXXX((T_IDENTIFY*)NULL));
//	// _xZkqqHx_iMmFjCoIjDfPiCpAjAnNjCoIiBeC_xHqqkZx_
//	m_mmptFix = FFGetFramePoint(mmrtFrame, g_pReg->GetSnapPosition());
//
//	//----- _xZkqqHx_jAiFjFlNiBeFjAiCjClMjApMiCpAiInKjDkOjApMiCmJjAnNjCoI_xHqqkZx_ -----
//	m_mmlnvAry.clear();
//	m_mmlnvAry.push_back(DBLLine(m_mmptFix, m_mmptFix + DBLPoint(10,0)));
//	m_mmlnvAry.push_back(DBLLine(m_mmptFix, m_mmptFix + DBLPoint(0,10)));
//	// _xZkqqHx_iJeFiBeFiNlGiDhLiDfOiDjDiCpAiJjPiClFiClNiOjOiCmMiNmAjFfHiCpAiLeMjIfOiBeC_xHqqkZx_
//	m_mmptButtonDownFirst = m_mmptLRButtonDown;
//
//	//----- _xZkqqHx_iDfOiBfLiDfBiDgCiDgHjFjEjFgJiCmMiNlGiPoDiCmMiNmAjFfHiCpAiLiBiCnPiCoJ_xHqqkZx_ -----
//	// m_mmptLastLT_xZkqqHx_iCmJjFjEjFgJiCmMiNlGiPoDiNmAjFfHiCpAiLeMjIfOiBeC_xHqqkZx_
//	m_mmptLastLT.SetPoint(mmrtFrame.left, mmrtFrame.top);
//
//	// _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiDeDiDiBiBfLiDfHiNoMjAkMiBeC_xHqqkZx_
//	MakeSelectBitmap(pDC);
//	//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiCmMiNlGiPoDiNmAjFfHiCpAjDlOiCoJ_xHqqkZx_ -----
//	m_mmptBitLT = m_mmptLastLT + m_mmptBitOffset;
//	//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGjHhA_xHqqkZx_CDC_xZkqqHx_iNoMjAkM_xHqqkZx_ -----
//	CDC	dcMem;
//	dcMem.CreateCompatibleDC(pDC);
//	CBitmap* pbmOld = dcMem.SelectObject(&m_coMoveBit);
//	//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiCpAjFgAiJoG_xHqqkZx_ -----
//	FCAutoDC(pDC).BitBlt(mm2lg(m_mmptBitLT.x), mm2lg(m_mmptBitLT.y),
//					mm2lg(m_mmBitWidth), mm2lg(m_mmBitHeight), &dcMem, 0, 0, SRCINVERT);
//	//----- _xZkqqHx_iMlDiCmMiDhCiDgCiDgHiDhNiDgCiDhGiCmJjGnPiClFiBeB_xHqqkZx_CDC_xZkqqHx_iCpAiJpAjFpK_xHqqkZx_ -----
//	dcMem.SelectObject(pbmOld);
//	dcMem.DeleteDC();
//	// _xZkqqHx_iOkJjDkOiDfIiDeOiDiNiBfLiDiLiBgJiJoGjGmKiCpAiCmNiCnNiPgPiClFiClNiOjOiBgKiCpAiCgOiCgNiBeC_xHqqkZx_
//	g_pView->SetAutoScroll(TRUE);
//} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateStartMoveObj.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateMovingObj
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFjEjFgJiInKjDkOjCiGiPiIjHjNiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDC	:_xZkqqHx_jFgAiJoGjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	00.01.14 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//template<class SUPER_SUPER, class T_IDENTIFY>
//void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateMovingObj (CDC* pDC)
//{
//	TRACE(_T("FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateMovingObj\r\n"));
//
//	//----- _xZkqqHx_iDhLiDfOiDjDiCpAiJjPiClFiClNiOjOiCkJiCoHiCmMiDhNiDeFiDfIiCmMiInKjDkOiLjHjHkDiCpAiLiBiCnPiCoJ_xHqqkZx_ -----
//	DBLPoint mmptDiff = m_mmptMsc - m_mmptButtonDownFirst;
//
//	//----- _xZkqqHx_iDfOiBfLiDfBiDgCiDgHjFjEjFgJiCmMiInKjDkOiMoDiNmAjFfHiBgJ_xHqqkZx_mmptNewLT_xZkqqHx_iBgKiCpAiLiBiCnPiCoJ_xHqqkZx_ -----
//// 05.09.02 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
////	const DBLRect mmrtFrame = GetHitXXX((T_IDENTIFY*)NULL)->GetResizeFrame();
//	const DBLRect mmrtFrame = GetFrameRectXXX((T_IDENTIFY*)NULL, GetHitXXX((T_IDENTIFY*)NULL));
//
//	// _xZkqqHx_iDfOiBfLiDfBiDgCiDgHjFjEjFgJiCmMiDfIiDgJiDgCiDhGiClHiCoJiImKjChFiCpAiOoGjDlOiBgJjFjEjFgJiCmNiCnMiClOjDkOiCkCiCmEiCkCiCmIiCkCiBgK_xHqqkZx_
//	const DBLPoint mmptSnapPosition = FFGetFramePoint(mmrtFrame, g_pReg->GetSnapPosition());
//	// _xZkqqHx_iDhNiDeFiDfIiImKjChFiCnMiCmFiInKjDkOiClFiClNiPoKiNiHiCmMjFjEjFgJiCmMiDfIiDgJiDgCiDhGiImKjChFiBeC_xHqqkZx_
//	mmptDiff += mmptSnapPosition;
//	// _xZkqqHx_iClBiCmMiNmAjFfHiCmJiInKjDkOjAkHiMmAiCpAiCkJiCkPiCoJiBeC_xHqqkZx_
//	FFLimitMP(mmptDiff, m_dwFlags, m_mmptFix, m_mmlnvAry.begin(), m_mmlnvAry.size());
//	// _xZkqqHx_iDfIiDgJiDgCiDhGiPiIjHjNiClFiClNiMoDiCmMiBeBiInKjDkOiLjHjHkDiCpAiOfKiPgPiBeC_xHqqkZx_
//	mmptDiff -= mmptSnapPosition;
//	// _xZkqqHx_jAfGiClFiCkCiNlGiPoDiNmAjFfHiCpAiOfKiPgPiBeC_xHqqkZx_
//	const DBLPoint mmptNewLT = DBLPoint(mmrtFrame.left, mmrtFrame.top) + mmptDiff;
//
//	// _xZkqqHx_jBePiJpBiCmGjFjEjFgJiCmMiNlGiPoDiNmAjFfHiCkKjFmPiJlLjGlDiCkPiCoKiCmOiPeJjHlJiBeC_xHqqkZx_
//	if (m_mmptLastLT == mmptNewLT) return;
//
//	// m_mmptLastLT_xZkqqHx_iCmJiInKjDkOiMoDiCmMjFjEjFgJiCmMiNlGiPoDiNmAjFfHiCpAiLeMjIfOiBeC_xHqqkZx_
//	m_mmptLastLT = mmptNewLT;
//
//	//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGjHhA_xHqqkZx_CDC_xZkqqHx_iNoMjAkM_xHqqkZx_ -----
//	CDC	dcMem;
//	dcMem.CreateCompatibleDC(pDC);
//	CBitmap* pbmOld = dcMem.SelectObject(&m_coMoveBit);
//
//	//----- _xZkqqHx_jBePiJpBiCmMiDhCiDgCiDgHiDhNiDgCiDhGiCpAiPmBiClH_xHqqkZx_ -----
//	FCAutoDC(pDC).BitBlt(mm2lg(m_mmptBitLT.x), mm2lg(m_mmptBitLT.y),
//						mm2lg(m_mmBitWidth), mm2lg(m_mmBitHeight), &dcMem, 0, 0, SRCINVERT);
//
//	//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiCmMiNlGiPoDiNmAjFfHiCpAjDlOiCoJ_xHqqkZx_ -----
//	m_mmptBitLT = mmptNewLT + m_mmptBitOffset;
//
//	//----- _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiCpAjFfMiOkG_xHqqkZx_ -----
//	FCAutoDC(pDC).BitBlt(mm2lg(m_mmptBitLT.x), mm2lg(m_mmptBitLT.y),
//						mm2lg(m_mmBitWidth), mm2lg(m_mmBitHeight), &dcMem, 0, 0, SRCINVERT);
//
//	//----- _xZkqqHx_iMlDiCmMiDhCiDgCiDgHiDhNiDgCiDhGiCmJjGnPiClFiCmEiBeBiPeJjHlJ_xHqqkZx_ -----
//	dcMem.SelectObject(pbmOld);
//	dcMem.DeleteDC();
//
//	//----- _xZkqqHx_iInKjDkOjFjEjFgJiCmMiNlGiPoDiCmGiJeFiJlKiCmMiCfBiMmCiPiKiCpAjFfMiOkG_xHqqkZx_ -----
//	FFGetMainWnd()->MoveRulerMMK(mmptNewLT, mmptNewLT +
//							DBLPoint(mmrtFrame.Width(), mmrtFrame.Height()));
//} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateMovingObj.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateStopMoveObj
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFjEjFgJiInKjDkOiPeJjHlJiPiIjHjNiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDC	:_xZkqqHx_jFgAiJoGjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	00.01.14 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//template<class SUPER_SUPER, class T_IDENTIFY>
//void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateStopMoveObj (CDC* pDC)
//{
//	TRACE(_T("FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateStopMoveObj\r\n"));
//	// _xZkqqHx_iOkJjDkOiDfIiDeOiDiNiBfLiDiLiBgJiJoGjGmKiCpAiCmNiCnNiPgPiClFiClNiOjOiBgKiCpAiDeJiDhEiBeC_xHqqkZx_
//	g_pView->SetAutoScroll(FALSE);
//	// _xZkqqHx_iDhCiDgCiDgHiDhNiDgCiDhGiCpAiNoNiPjMiBeC_xHqqkZx_
//	if (m_coMoveBit.m_hObject != NULL) m_coMoveBit.DeleteObject();
//} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateStopMoveObj.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateDoMoveObj
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFjEjFgJiInKjDkOiPiIjHjNiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDC	:_xZkqqHx_jFgAiJoGjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.04.26 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//template<class SUPER_SUPER, class T_IDENTIFY>
//void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateDoMoveObj (CDC* pDC)
//{
//	TRACE(_T("FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateDoMoveObj\r\n"));
//	//----- _xZkqqHx_jFjEjFgJiCmMiInKjDkOiLjHjHkDiCpAiLiBiCnPiCoJ_xHqqkZx_.m_mmptLastLT_xZkqqHx_iCmNjFjEjFgJiCmMiNlGiPoDiNmAjFfH_xHqqkZx_ -----
//// 05.09.02 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
////	const DBLRect mmrtFrame = GetHitXXX((T_IDENTIFY*)NULL)->GetResizeFrame();
//	const DBLRect mmrtFrame = GetFrameRectXXX((T_IDENTIFY*)NULL, GetHitXXX((T_IDENTIFY*)NULL));
//	DBLPoint mmptDiff = m_mmptLastLT - DBLPoint(mmrtFrame.left, mmrtFrame.top);
//	// _xZkqqHx_iLeMjIfOiDfKiDgCiDfGiDiHiDjDiKeKiOgOiKnGjAjEiOmAiNhDiBeC_xHqqkZx_
//	g_pDoc->SessionBegin();
//	// _xZkqqHx_iInKjDkOjBePiPiIjHjNiBeC_xHqqkZx_
//	LocalObjMovedBefore(GetSelectLocalObjVector());
//	// _xZkqqHx_iInKjDkOiDfCiDhNiDjDiDgIiCpAjEkNiNhDiBeC_xHqqkZx_
//	if (GetSelectLocalObjVector().size() == 1)
//		g_pDoc->CmdMove1Obj(GetSelectLocalObjVector().back(), mmptDiff);
//	else
//		g_pDoc->CmdMoveObjs(GetSelectLocalObjVector(), mmptDiff);
//	// _xZkqqHx_iInKjDkOiMoDiPiIjHjNiBeC_xHqqkZx_
//	LocalObjMovedAfter(GetSelectLocalObjVector());
//	// _xZkqqHx_iLeMjIfOiDfKiDgCiDfGiDiHiDjDiCmMiPeJjHlJiBeC_xHqqkZx_
//	g_pDoc->SessionEnd();
////----- 05.06.07 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
//	// _xZkqqHx_jBeJjBpAjFjEjFgJiCmMjFmPiNfIiCpAiClBiCmMiDgDiBfLiDiLiCmJjCmKjCgNiBeC_xHqqkZx_
//	OnSelectObjModified();
////----- 05.06.07 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
//} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateDoMoveObj.
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateEnterResize
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDiKiDfEiDeDiDfJjDpMiMpLiPiIjHjNiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDC	:_xZkqqHx_jFgAiJoGjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	00.01.14 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
template<class SUPER_SUPER, class T_IDENTIFY>
void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateEnterResize (CDC* pDC)
{
	TRACE(_T("FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateEnterResize\r\n"));
	// OnLButtonUp_xZkqqHx_iCnMiCmFiClBiCmM_xHqqkZx_Window_xZkqqHx_iCmJiDeDiDhIiDjDiDgHiBeC_xHqqkZx_
	::FFSetCapture(g_pView->m_hWnd);
	// _xZkqqHx_iDeKiBfLiDfMiDiLjFmPiNfIiBeC_xHqqkZx_
	FFGetMainWnd()->SetCurCursor(g_pView, m_pHitSzObj->GetHandleCursor(m_nHitSzHandle));
	// _xZkqqHx_iDiLiBfLiDiJiBfLiDhNiDeFiDfIiDhNiBfLiDeKiBfL_xHqqkZx_0_xZkqqHx_iCpAiJmCiOiLiCmJiClHiCoJ_xHqqkZx_.
	FFGetMainWnd()->SetRulerMMKVisible(0, TRUE);
	// _xZkqqHx_iDiLiBfLiDiJiBfLiDhNiDeFiDfIiDhNiBfLiDeKiBfLjFfMiOkGiBeCjFjEjFgJiCmMiNlGiPoDiCmGiJeFiJlKiCmMiCfBiMmCiPiKiBeC_xHqqkZx_
	const DBLRect mmrtResizeFrame = m_pHitSzObj->GetResizeFrame();
	FFGetMainWnd()->MoveRulerMMK(	DBLPoint(mmrtResizeFrame.left, mmrtResizeFrame.top),
									DBLPoint(mmrtResizeFrame.right, mmrtResizeFrame.bottom));

//----- 05.08.02 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	if (g_pReg->GetIsPopupHint() && g_pReg->GetIsPopupResizeObjectHint())
	{
		// _xZkqqHx_jCmHjAnFiDhBiDjDiDgHiCmJiDiKiDfEiDeDiDfJiPoOjFpBiCpAjFfMiOkGiBeC_xHqqkZx_
		WString wstrHint;
		GetResizeHintText(	wstrHint,
							mmrtResizeFrame,
							1.0, 1.0);
		FFGetApp()->GetPopHint()->SetTargetInfo(wstrHint);
		FFGetApp()->GetPopHint()->OnShow();
	}
//----- 05.08.02 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateEnterResize.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	myResizeCheck
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDiKiDfEiDeDiDfJiDgAiDeGiDgCiDeOjHhAiCmMiDfCiBfLiDiLiDgPiDgCiDeOiKnGjAjEiBeC_xHqqkZx_OnLButtonDown_xZkqqHx_jCiGiCmF_xHqqkZx_
 *			FCResizeWork::OnResizeFirst_xZkqqHx_iCmMiIpIjAjEiCmGiClFiCmEjDgOiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	objp	:OnResizeFirst_xZkqqHx_iCmFjAnNjCoIiClFiClNjFjEjFgJiCkKjAnNjCoIiClDiCoKiCoJiBeC_xHqqkZx_
 *			bXPosi	:X_xZkqqHx_jFpLiMpMiCmMjElNjDfNiCkKiCkAiCoJiPoKiNiHiCmN_xHqqkZx_TRUE_xZkqqHx_iCkKjAnNjCoIiClDiCoKiCoJiBeC_xHqqkZx_
 *			bYPosi	:Y_xZkqqHx_jFpLiMpMiCmMjElNjDfNiCkKiCkAiCoJiPoKiNiHiCmN_xHqqkZx_TRUE_xZkqqHx_iCkKjAnNjCoIiClDiCoKiCoJiBeC_xHqqkZx_
 *			mmrtNew	:_xZkqqHx_iDiKiDfEiDeDiDfJiMoDiCmMiNmAjFfHiCkKjAnNjCoIiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDiKiDfEiDeDiDfJiJmCjEfMiCmIiCoHiCmO_xHqqkZx_ TRUE_xZkqqHx_iBeBjFhDiJmCjEfMiCmIiCoHiCmO_xHqqkZx_ FALSE _xZkqqHx_iCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jCiNiInD_xHqqkZx_>	static_xZkqqHx_iKnGjAjEiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.05.25 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
static BOOL myResizeCheck (	const FCObjDynabase* pObj, BOOL bXPosi, BOOL bYPosi,
							const DBLRect& mmrtNew)
{
// 05.06.25 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//	return pObj->IsResizable(bXPosi, bYPosi, mmrtNew);
	return pObj->GetIsResizable(mmrtNew.Width(), mmrtNew.Height());
} // myResizeCheck.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateStartResize
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDiKiDfEiDeDiDfJiKeKiOgOiPiIjHjNiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDC	:_xZkqqHx_jFgAiJoGjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	00.01.14 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
template<class SUPER_SUPER, class T_IDENTIFY>
void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateStartResize (CDC* pDC)
{
	TRACE(_T("FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateStartResize\r\n"));
	// _xZkqqHx_jFjEjFgJiDiKiDfEiDeDiDfJiPiAjEpFiPiIjHjNiBeC_xHqqkZx_
	m_resizeWork.OnResizeFirst(myResizeCheck, m_pHitSzObj, pDC, m_nHitSzHandle);
	// _xZkqqHx_iOkJjDkOiDfIiDeOiDiNiBfLiDiLiBgJiJoGjGmKiCpAiCmNiCnNiPgPiClFiClNiOjOiBgKiCpAiCgOiCgNiBeC_xHqqkZx_
	g_pView->SetAutoScroll(TRUE);
} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateStartResize.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateResizing
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDiKiDfEiDeDiDfJjCiGiPiIjHjNiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDC	:_xZkqqHx_jFgAiJoGjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	00.01.14 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
template<class SUPER_SUPER, class T_IDENTIFY>
void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateResizing (CDC* pDC)
{
	TRACE(_T("FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateResizing\r\n"));
	// _xZkqqHx_iDhNiDeFiDfIiDeKiBfLiDfMiDiLjFmPiNfIiBeC_xHqqkZx_
	FFGetMainWnd()->SetCurCursor(g_pView, m_pHitSzObj->GetHandleCursor(m_nHitSzHandle));
	// _xZkqqHx_jFjEjFgJiDiKiDfEiDeDiDfJiPiIjHjNiBeC_xHqqkZx_
	if (m_resizeWork.OnResizeNext(pDC, m_dwFlags, m_mmptMsc))
	{
		//----- _xZkqqHx_iDiKiDfEiDeDiDfJjCiGiCmMjFjNiBeFiNiCiClDiCpAiMhGiOfKiBeCjFiJiCmMjCgMiCoAiCkAiCoIiCkGiCoJ_xHqqkZx_ -----
		mmetol mmWidth = m_resizeWork.GetResizeFrame().right -
						m_resizeWork.GetResizeFrame().left;
		mmetol mmHeight = m_resizeWork.GetResizeFrame().bottom -
						m_resizeWork.GetResizeFrame().top;
		//----- _xZkqqHx_iDiKiDfEiDeDiDfJjBePiCmMjFjNiBeFiNiCiClDiCpAiMhGiOfK_xHqqkZx_ -----
		mmetol mmWidthOrg = m_resizeWork.GetResizeFrameOrg().right -
							m_resizeWork.GetResizeFrameOrg().left;
		mmetol mmHeightOrg = m_resizeWork.GetResizeFrameOrg().bottom -
							m_resizeWork.GetResizeFrameOrg().top;
		if (about0(mmWidthOrg)) mmWidthOrg = 1.0;
		if (about0(mmHeightOrg)) mmHeightOrg = 1.0;
		//----- _xZkqqHx_iDiKiDfEiDeDiDfJjCiGiCmMjEoEjHkGiCpAiOfKiPgP_xHqqkZx_ -----
		double dRatioX = mmWidth / mmWidthOrg;
		double dRatioY = mmHeight / mmHeightOrg;
		WString strRatio;
		strRatio.Format(L"w:%f%% h:%f%%", 100.0 * dRatioX, 100.0 * dRatioY);
		//----- _xZkqqHx_jFjEjFgJiCmMiNlGiPoDiCmGiJeFiJlKiCmMiCfBiMmCiPiKiCpAjFfMiOkG_xHqqkZx_ -----
//----- 05.07.08 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//		FFGetMainWnd()->MoveRulerMMK(	m_resizeWork.GetFixPoint(),
//										m_resizeWork.GetMovePoint(), strRatio);
//----- 05.07.08 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
		// _xZkqqHx_iDiKiDfEiDeDiDfJiDhEiDiMiBfLiDiAiCpAiLiBiCnPiCmEiBeBiDiLiBfLiDiJiBfLiCmJjFfMiOkGiBeC_xHqqkZx_
		// _xZkqqHx_iDiKiDfEiDeDiDfJiMmFjCoIjDfPiCkKjAhNiMgAjCiGjAfDiCmMiPoKiNiHiCoAiCkAiCoJiClNiCnPiBeB_xHqqkZx_GetFixPoint/GetMovePoint_xZkqqHx_iCmN_xHqqkZx_
		// _xZkqqHx_iOgHiCkGiCmIiCkCiBeC_xHqqkZx_
		DBLRect mmrtResizeFrame = m_resizeWork.GetResizeFrame();
		mmrtResizeFrame.NormalizeRect();
		FFGetMainWnd()->MoveRulerMMK(	DBLPoint(mmrtResizeFrame.left, mmrtResizeFrame.top),
										DBLPoint(mmrtResizeFrame.right, mmrtResizeFrame.bottom),
										strRatio);
//----- 05.07.08 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----

//----- 05.07.08 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
		if (g_pReg->GetIsPopupHint() && g_pReg->GetIsPopupResizeObjectHint())
		{
			// _xZkqqHx_jCmHjAnFiDhBiDjDiDgHiCmJiDiKiDfEiDeDiDfJiPoOjFpBiCpAjFfMiOkGiBeC_xHqqkZx_
			WString wstrHint;
			GetResizeHintText(	wstrHint,
								mmrtResizeFrame,
								dRatioX, dRatioY);
			FFGetApp()->GetPopHint()->SetTargetInfo(wstrHint);
			FFGetApp()->GetPopHint()->OnShow();
		}
//----- 05.07.08 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
	}
} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateResizing.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateStopResize
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDiKiDfEiDeDiDfJiPeJjHlJiPiIjHjNiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDC	:_xZkqqHx_jFgAiJoGjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	00.01.14 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
template<class SUPER_SUPER, class T_IDENTIFY>
void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateStopResize (CDC* pDC)
{
	TRACE(_T("FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateStopResize\r\n"));
	// _xZkqqHx_iOkJjDkOiDfIiDeOiDiNiBfLiDiLiBgJiJoGjGmKiCpAiCmNiCnNiPgPiClFiClNiOjOiBgKiCpAiDeJiDhEiBeC_xHqqkZx_
	g_pView->SetAutoScroll(FALSE);
	BOOL bXPosi, bYPosi;
	DBLRect mmrtResized;
	// _xZkqqHx_jFjEjFgJiDiKiDfEiDeDiDfJiMoDiPiIjHjNiBeC_xHqqkZx_
	if (!m_resizeWork.OnResizeEnd(pDC, bXPosi, bYPosi, mmrtResized)) return;
	// _xZkqqHx_iDiKiDfEiDeDiDfJiMoDiCmMiDfEiDeDiDfJiCkKiDiKiDfEiDeDiDfJiJmCjEfMiCkJiCpAiKgNjEeGiClHiCoJiBeC_xHqqkZx_
	ObjDynabaseVector::const_iterator iObj;
	for (iObj = GetSelectLocalObjVector().begin();
		 iObj != GetSelectLocalObjVector().end(); iObj++)
	{
// 05.06.25 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//		m_resizeWork.CalcResize(mmrtResized, (*iObj)->GetResizeFrame(), (*iObj)->GetIsResizableHorz(), (*iObj)->GetIsResizableVert());
		m_resizeWork.CalcResize(mmrtResized, (*iObj)->GetResizeFrame());
		bXPosi = mmrtResized.left <= mmrtResized.right;
		bYPosi = mmrtResized.top <= mmrtResized.bottom;
		mmrtResized.NormalizeRect();
		// _xZkqqHx_iDiKiDfEiDeDiDfJjFhDiJmCjEfMiCmIiCoHiCmOjFjMiLeBiBeC_xHqqkZx_
// 05.06.25 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//		if (!(*iObj)->IsResizable(bXPosi, bYPosi, mmrtResized)) return;
		if (!(*iObj)->GetIsResizable(mmrtResized.Width(), mmrtResized.Height())) return;
	}
	// _xZkqqHx_iDfCiDhNiDjDiDgIiDfKiDgCiDfGiDiHiDjDiCmMiKeKiOgOiBeC_xHqqkZx_
	g_pDoc->SessionBegin();
	// _xZkqqHx_iInKjDkOjBePiPiIjHjNiBeC_xHqqkZx_
	LocalObjMovedBefore(GetSelectLocalObjVector());
	for (iObj = GetSelectLocalObjVector().begin();
		 iObj != GetSelectLocalObjVector().end(); iObj++)
	{
// 05.06.25 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//		m_resizeWork.CalcResize(mmrtResized, (*iObj)->GetResizeFrame(), (*iObj)->GetIsResizableHorz(), (*iObj)->GetIsResizableVert());
		m_resizeWork.CalcResize(mmrtResized, (*iObj)->GetResizeFrame());
		// _xZkqqHx_iDiKiDfEiDeDiDfJiDfCiDhNiDjDiDgIiCmMjEkNiNhDiBeC_xHqqkZx_
		g_pDoc->CmdResize1Obj(*iObj, mmrtResized);
	}
	// _xZkqqHx_iInKjDkOiMoDiPiIjHjNiBeC_xHqqkZx_
	LocalObjMovedAfter();
	// _xZkqqHx_iDfCiDhNiDjDiDgIiDfKiDgCiDfGiDiHiDjDiCmMiPeJjHlJiBeC_xHqqkZx_
	g_pDoc->SessionEnd();
//----- 06.02.23 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	// _xZkqqHx_jBeJjBpAjFjEjFgJiCmMjFmPiNfIiCpAiClBiCmMiDgDiBfLiDiLiCmJjCmKjCgNiBeC_xHqqkZx_
//	OnSelectObjModified();
//----- 06.02.23 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateStopResize.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateExitResize
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDiKiDfEiDeDiDfJiPgPiMpLiPiIjHjNiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDC	:_xZkqqHx_jFgAiJoGjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	00.01.14 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
template<class SUPER_SUPER, class T_IDENTIFY>
void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateExitResize (CDC* pDC)
{
	TRACE(_T("FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateExitResize\r\n"));
	// _xZkqqHx_iDiLiBfLiDiJiBfLiDhNiDeFiDfIiDhNiBfLiDeKiBfL_xHqqkZx_0_xZkqqHx_iCpAjEpBiJmCiOiLiCmJiClHiCoJ_xHqqkZx_.
	FFGetMainWnd()->SetRulerMMKVisible(0, FALSE);
	::FFReleaseCapture();	// LButtonDown_xZkqqHx_iCmJiCoGiCmBiCmEiOgOiCnMiCmBiClNiDhNiDeFiDfIiCmM_xHqqkZx_
							// _xZkqqHx_jFnPiKgMiCpAiJpAiPjMiClFiCnMiClHiBeC_xHqqkZx_
//----- 05.07.08 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	if (g_pReg->GetIsPopupHint() && g_pReg->GetIsPopupResizeObjectHint())
	{
		// _xZkqqHx_jCmHjAnFiDhBiDjDiDgHiCpAjEpBjFfMiOkGiCmJiBeC_xHqqkZx_
		FFGetApp()->GetPopHint()->OnHide();
	}
//----- 05.07.08 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateExitResize.

//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateDoMoveObjSnap
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFjEjFgJiDfIiDgJiDgCiDhGiInKjDkOiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDC	:_xZkqqHx_jFgAiJoGjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	00.08.07 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//template<class SUPER_SUPER, class T_IDENTIFY>
//void FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateDoMoveObjSnap (CDC* pDC)
//{
//	// _xZkqqHx_iDeKiBfLiDfMiDiLiDeMiBfLiCmIiCoHiCmOiBeBiDfIiDgJiDgCiDhGiInKjDkOiBeCiBgJiJlMjBhKiDeMiBfLiCmFiCoAjBoFiPoEjFhGiBgK_xHqqkZx_
//	switch (m_dwChar)
//	{
//	case VK_LEFT:	// _xZkqqHx_iNlGiDeMiBfLiBeC_xHqqkZx_
//		g_pView->PostMessage(WM_COMMAND, ID_OBJECT_MOVE_SNAP_LEFT);
//		break;
//	case VK_UP:		// _xZkqqHx_iPoDiDeMiBfLiBeC_xHqqkZx_
//		g_pView->PostMessage(WM_COMMAND, ID_OBJECT_MOVE_SNAP_UP);
//		break;
//	case VK_RIGHT:	// _xZkqqHx_iJeFiDeMiBfLiBeC_xHqqkZx_
//		g_pView->PostMessage(WM_COMMAND, ID_OBJECT_MOVE_SNAP_RIGHT);
//		break;
//	case VK_DOWN:	// _xZkqqHx_iJlKiDeMiBfLiBeC_xHqqkZx_
//		g_pView->PostMessage(WM_COMMAND, ID_OBJECT_MOVE_SNAP_DOWN);
//		break;
//	}
//} // FCToolMoveResizeTmpl<SUPER_SUPER, T_IDENTIFY>::StateDoMoveObjSnap.
//----- 05.09.03 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

#endif//__ToolMoveResizeTmpl_h
