// PursuerText.cpp : _xZkqqHx_iDeDiDjDiDhGiDiKiDiBiDjDiDgFiBfLiDfGiDiHiDjD_xHqqkZx_ _xZkqqHx_iDhEiDeAiDeDiDiL_xHqqkZx_
//

#include "stdafx.h"
#include <afxpriv.h>		// For HID_BASE_COMMAND.
#include "DynamicDraw.h"	// For FFGetApp.
#include "FoundDoc.h"		// For g_pDoc.
#include "RegData.h"		// For g_pReg.
#include "UtilMisc.h"		// For FFGetCurrentMillisecTime.
#include "UtilGraph.h"		// For FCAutoDC.
#include "UtilStr.h"		// For FFLoadWString.
#include "UtilWin.h"		// For FFJustifyToMonitor.
#include "MolipExport.h"	// For FCExport.
#include "FrameWnd.h"		// For FFGetMainWnd().
#include "RecentList.h"		// For FCRecentList.
#include "PursuerText.h"	// This header.

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif


// _xZkqqHx_jCmHjAnFiDgFiDeMiDfIiDgHiDhBiDjDiDgHiDeFiDeCiDjDiDgIiDeFiCmMiKmEiOiLiBeC_xHqqkZx_
#define FDTIMER_PURSUER_TEXT		1
// _xZkqqHx_jCmHjAnFiDgFiDeMiDfIiDgHiDhBiDjDiDgHiDeFiDeCiDjDiDgIiDeFiCmMiDfOiDeDiDhNiBfLiKnEiKhFiBeC_xHqqkZx_
#define FD_INTERVAL_PURSUER_TEXT	200
// _xZkqqHx_jCmHjAnFiDgFiDeMiDfIiDgHiDhBiDjDiDgHiDeFiDeCiDjDiDgIiDeFjFfMiOkGiCnMiCmFiCmMjBnCiClPiOjOiKnEiBeC_xHqqkZx_
#define FD_TIME_SHOW_PURSUER_TEXT	400
// _xZkqqHx_jCmHjAnFiDgFiDeMiDfIiDgHiDhBiDjDiDgHiDeFiDeCiDjDiDgIiDeFjEpBjFfMiOkGiCnMiCmFiCmMjBnCiClPiOjOiKnEiBeC_xHqqkZx_
#define FD_TIME_HIDE_PURSUER_TEXT	25000
//----- 05.07.22 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//// _xZkqqHx_iDiKiDjDiDeOiPiIjHjNiOmAiNhDiCnMiCmFiCmMjBnCiClPiOjOiKnEiBeC_xHqqkZx_
//#define FD_TIME_DO_LINK				600
//----- 05.07.22 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
//----- 05.07.22 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//// _xZkqqHx_iDiKiDjDiDeOiPiIjHjNiOmAiNhDiMoDiCmMiDeOiBfLiDiLiDfPiDeFiDjDiCmMiOjOiKnEiBeC_xHqqkZx_
//#define FD_TIME_AFTER_DO_LINK		4000
//----- 05.07.22 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

// _xZkqqHx_jCmHjAnFiDgFiDeMiDfIiDgHiDhBiDjDiDgHiDeFiDeCiDjDiDgIiDeFiCmGiDhNiDeFiDfIiCmMiLjHjHkDiBeC_xHqqkZx_
#define FD_PURSUER_TEXT_OFFSET_X	20
#define FD_PURSUER_TEXT_OFFSET_Y	20
//----- 06.05.16 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
// _xZkqqHx_iDiBiDgKiDiFiBfLiCmGjCmHjAnFiDgFiDeMiDfIiDgHiDhBiDjDiDgHiDeFiDeCiDjDiDgIiDeFiCmMjAiFjFlNjFpLiMpMiCmMiPgEiCmIiCoIiBeC_xHqqkZx_
#define FD_PURSUER_MENU_OVERLAP_X	10
//----- 06.05.16 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----

// _xZkqqHx_jDgPjIfOjGlMiCpAiPiJiKpKiJlLiBeC_xHqqkZx_
LPCTSTR CFCPursuerText::m_lpszClassName = NULL;

// _xZkqqHx_iDgFiDeMiDfIiDgHiOpMiImNiCmMiDhNiBfLiDfHiDjDiBeC_xHqqkZx_
static const long s_pxMargin = 4;
// _xZkqqHx_iDgFiDeMiDfIiDgHiNhDiKnEiCmMiDeNiDiDiDgCiDhGiBgJiNhDiNiCiCmJjBmOiClHiCoJjEoEjHkGiBgK_xHqqkZx_
static const double s_dLineGap = 0.2;

//----- 05.08.29 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//// _xZkqqHx_iDeFiDeCiDjDiDgIiDeFiCmMiNmFiPkNjFjNiBeC_xHqqkZx_
//static const long s_pxInitWidth = 20;
//// _xZkqqHx_iDeFiDeCiDjDiDgIiDeFiCmMiNmFiPkNiNiCiBeC_xHqqkZx_
//static const long s_pxInitHeight = 10;
//// _xZkqqHx_iDeFiDeCiDjDiDgIiDeFiCmM_xHqqkZx_ _xZkqqHx_jFjNiBiAiNiCiClD_xHqqkZx_ _xZkqqHx_iCmMiNmFjBoFjCgMiBeC_xHqqkZx_
//static double s_dMaxWidthPerHeight = 10.0;
//// _xZkqqHx_iDeFiDeCiDjDiDgIiDeFiCmM_xHqqkZx_ _xZkqqHx_jFjNiBiAiNiCiClD_xHqqkZx_ _xZkqqHx_iCmMjFfHiPiAjCgMiBeC_xHqqkZx_
//static double s_dStdWidthPerHeight = 2.0;
//----- 05.08.29 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

// _xZkqqHx_iJoGjFgFiDeBiDeDiDfCiDjDiCmMiDfEiDeDiDfJiBeC_xHqqkZx_
static const CSize s_szIconTack(12, 10);
static const long s_pxIconMargin = 2;

/////////////////////////////////////////////////////////////////////////////
// CFCPursuerText_xZkqqHx_iDiNiBfLiDeKiDiLiKnGjAjEiBeC_xHqqkZx_

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	myIsLineChar
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iMhCjApMjFlGiOjKiCkJiCmHiCkEiCkJjClCiCnHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	wc	:_xZkqqHx_jFlGiOjKiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iMhCjApMjFlGiOjKiCmMiPoKiNiHiCmN_xHqqkZx_TRUE_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iImIiJlKiCmMjFlGiOjKiCkKiMhCjApMjFlGiOjKiCmGiClFiCmEiIlFiCoNiCoKiCoJiBeC_xHqqkZx_
 *			_xZkqqHx_iBfO_xHqqkZx_	0xff0f
 *			_xZkqqHx_iBfP_xHqqkZx_	0xff3c
 *			_xZkqqHx_iEjP_xHqqkZx_	0x2500
 *			_xZkqqHx_iEkA_xHqqkZx_	0x2502
 *			_xZkqqHx_iEkB_xHqqkZx_	0x250c
 *			_xZkqqHx_iEkC_xHqqkZx_	0x2510
 *			_xZkqqHx_iEkE_xHqqkZx_	0x2514
 *			_xZkqqHx_iEkD_xHqqkZx_	0x2518
 *			_xZkqqHx_iEkF_xHqqkZx_	0x251c
 *			_xZkqqHx_iEkH_xHqqkZx_	0x2524
 *			_xZkqqHx_iEkG_xHqqkZx_	0x252c
 *			_xZkqqHx_iEkI_xHqqkZx_	0x2534
 *			_xZkqqHx_iEkJ_xHqqkZx_	0x253c
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.21 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
static BOOL myIsLineChar (wchar_t wc)
{
	switch (wc)
	{
	case 0xff0f:	// _xZkqqHx_iBfO_xHqqkZx_
	case 0xff3c:	// _xZkqqHx_iBfP_xHqqkZx_
	case 0x2500:	// _xZkqqHx_iEjP_xHqqkZx_
	case 0x2502:	// _xZkqqHx_iEkA_xHqqkZx_
	case 0x250c:	// _xZkqqHx_iEkB_xHqqkZx_
	case 0x2510:	// _xZkqqHx_iEkC_xHqqkZx_
	case 0x2514:	// _xZkqqHx_iEkE_xHqqkZx_
	case 0x2518:	// _xZkqqHx_iEkD_xHqqkZx_
	case 0x251c:	// _xZkqqHx_iEkF_xHqqkZx_
	case 0x2524:	// _xZkqqHx_iEkH_xHqqkZx_
	case 0x252c:	// _xZkqqHx_iEkG_xHqqkZx_
	case 0x2534:	// _xZkqqHx_iEkI_xHqqkZx_
	case 0x253c:	// _xZkqqHx_iEkJ_xHqqkZx_
		return TRUE;
	default:
		return FALSE;
	}
} // myIsLineChar.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	myDrawLineChar
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iMhCjApMjFlGiOjKiCpAjFgAiJoGiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDC		:_xZkqqHx_jFgAiJoGjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *			rtChar	:_xZkqqHx_jFlGiOjKiLoJiMgAiCpAiOhHjCoIiBeC_xHqqkZx_
 *			wc		:_xZkqqHx_iMhCjApMjFlGiOjKiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iImIiJlKiCmMiMhCjApMjFlGiOjKiCpAiBeB_xHqqkZx_rtChar_xZkqqHx_iCmMjIgHiCkCiCmBiCmPiCkCiCmJjFgAiJoGiClHiCoJiBeC_xHqqkZx_
 *			_xZkqqHx_iBfO_xHqqkZx_	0xff0f
 *			_xZkqqHx_iBfP_xHqqkZx_	0xff3c
 *			_xZkqqHx_iEjP_xHqqkZx_	0x2500
 *			_xZkqqHx_iEkA_xHqqkZx_	0x2502
 *			_xZkqqHx_iEkB_xHqqkZx_	0x250c
 *			_xZkqqHx_iEkC_xHqqkZx_	0x2510
 *			_xZkqqHx_iEkE_xHqqkZx_	0x2514
 *			_xZkqqHx_iEkD_xHqqkZx_	0x2518
 *			_xZkqqHx_iEkF_xHqqkZx_	0x251c
 *			_xZkqqHx_iEkH_xHqqkZx_	0x2524
 *			_xZkqqHx_iEkG_xHqqkZx_	0x252c
 *			_xZkqqHx_iEkI_xHqqkZx_	0x2534
 *			_xZkqqHx_iEkJ_xHqqkZx_	0x253c
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.21 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
static void myDrawLineChar (CDC* pDC,
							const CRect& rtChar,
							wchar_t wc)
{
	const CPoint ptCenter = rtChar.CenterPoint();
	switch (wc)
	{
	case 0xff0f:	// _xZkqqHx_iBfO_xHqqkZx_
		pDC->MoveTo(rtChar.left, rtChar.bottom);
		pDC->LineTo(rtChar.right, rtChar.top);
		break;
	case 0xff3c:	// _xZkqqHx_iBfP_xHqqkZx_
		pDC->MoveTo(rtChar.left, rtChar.top);
		pDC->LineTo(rtChar.right, rtChar.bottom);
		break;
	case 0x2500:	// _xZkqqHx_iEjP_xHqqkZx_
		pDC->MoveTo(rtChar.left, ptCenter.y);
		pDC->LineTo(rtChar.right, ptCenter.y);
		break;
	case 0x2502:	// _xZkqqHx_iEkA_xHqqkZx_
		pDC->MoveTo(ptCenter.x, rtChar.top);
		pDC->LineTo(ptCenter.x, rtChar.bottom);
		break;
	case 0x250c:	// _xZkqqHx_iEkB_xHqqkZx_
		pDC->MoveTo(ptCenter.x, ptCenter.y);
		pDC->LineTo(ptCenter.x, rtChar.bottom);
		pDC->MoveTo(ptCenter.x, ptCenter.y);
		pDC->LineTo(rtChar.right, ptCenter.y);
		break;
	case 0x2510:	// _xZkqqHx_iEkC_xHqqkZx_
		pDC->MoveTo(rtChar.left, ptCenter.y);
		pDC->LineTo(ptCenter.x, ptCenter.y);
		pDC->LineTo(ptCenter.x, rtChar.bottom);
		break;
	case 0x2514:	// _xZkqqHx_iEkE_xHqqkZx_
		pDC->MoveTo(ptCenter.x, rtChar.top);
		pDC->LineTo(ptCenter.x, ptCenter.y);
		pDC->LineTo(rtChar.right, ptCenter.y);
		break;
	case 0x2518:	// _xZkqqHx_iEkD_xHqqkZx_
		pDC->MoveTo(rtChar.left, ptCenter.y);
		pDC->LineTo(ptCenter.x, ptCenter.y);
		pDC->MoveTo(ptCenter.x, rtChar.top);
		pDC->LineTo(ptCenter.x, ptCenter.y + 1);
		break;
	case 0x251c:	// _xZkqqHx_iEkF_xHqqkZx_
		pDC->MoveTo(ptCenter.x, rtChar.top);
		pDC->LineTo(ptCenter.x, rtChar.bottom);
		pDC->MoveTo(ptCenter.x, ptCenter.y);
		pDC->LineTo(rtChar.right, ptCenter.y);
		break;
	case 0x2524:	// _xZkqqHx_iEkH_xHqqkZx_
		pDC->MoveTo(ptCenter.x, rtChar.top);
		pDC->LineTo(ptCenter.x, rtChar.bottom);
		pDC->MoveTo(rtChar.left, ptCenter.y);
		pDC->LineTo(ptCenter.x, ptCenter.y);
		break;
	case 0x252c:	// _xZkqqHx_iEkG_xHqqkZx_
		pDC->MoveTo(rtChar.left, ptCenter.y);
		pDC->LineTo(rtChar.right, ptCenter.y);
		pDC->MoveTo(ptCenter.x, ptCenter.y);
		pDC->LineTo(ptCenter.x, rtChar.bottom);
		break;
	case 0x2534:	// _xZkqqHx_iEkI_xHqqkZx_
		pDC->MoveTo(rtChar.left, ptCenter.y);
		pDC->LineTo(rtChar.right, ptCenter.y);
		pDC->MoveTo(ptCenter.x, rtChar.top);
		pDC->LineTo(ptCenter.x, ptCenter.y);
		break;
	case 0x253c:	// _xZkqqHx_iEkJ_xHqqkZx_
		pDC->MoveTo(rtChar.left, ptCenter.y);
		pDC->LineTo(rtChar.right, ptCenter.y);
		pDC->MoveTo(ptCenter.x, rtChar.top);
		pDC->LineTo(ptCenter.x, rtChar.bottom);
		break;
	}
} // myDrawLineChar.

//----- 05.07.22 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	myGetAllKeyState
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jBfDiCmEiCmMiDeMiBfLiCmMiPpDjBnEiCpAiOoGjDlOiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	buffKey	:_xZkqqHx_iPpDjBnEiCpAiLeMjIfOiClHiCoJiDgPiDgCiDhEiDeAiCpAiOhHjCoIiBeCiCfBiCfEiCfFiDgPiDeDiDgHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iOoGjDlOiCmFiCkLiClNiPoKiNiHiCmN_xHqqkZx_TRUE_xZkqqHx_iBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.22 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//static BOOL myGetAllKeyState (BYTE buffKey[])
//{
//	if (GetKeyboardState(buffKey))
//	//----- _xZkqqHx_jBfDiDeMiBfLiCmMiPpDjBnEiCkKiOoGjDlOiCmFiCkLiClNiPoKiNiH_xHqqkZx_ -----
//	{
//		// _xZkqqHx_iNmFiPoDiImKiDhCiDgCiDgHiCmMiCnNiOgDiClHiBeC_xHqqkZx_
//		for (long lC = 0; lC != 256; lC++)
//			buffKey[lC] &= 0x80;
//		return TRUE;
//	}
//	return FALSE;
//} // myGetAllKeyState.
//----- 05.07.22 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	myIsAnyKeyOn
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iCkCiClIiCoKiCkJiCmMiDeMiBfLiCkK_xHqqkZx_ON_xZkqqHx_iCmJiCmIiCmBiCmEiCkCiCoJiCkJjClCiCnHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iCkCiClIiCoKiCkJiCkK_xHqqkZx_ON_xZkqqHx_iCmMiPoKiNiHiCmN_xHqqkZx_TRUE_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.22 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
static BOOL myIsAnyKeyOn ()
{
	BYTE buffKey[256];
	if (GetKeyboardState(buffKey))
	//----- _xZkqqHx_jBfDiDeMiBfLiCmMiPpDjBnEiCkKiOoGjDlOiCmFiCkLiClNiPoKiNiH_xHqqkZx_ -----
	{
		// _xZkqqHx_iNmFiPoDiImKiDhCiDgCiDgHiCmMiCnNjClCiCnHiCoJiBeC_xHqqkZx_RMENU_xZkqqHx_iCmMiDeMiBfLiCpAjClEiCkGiCoJiCmGjFhDjGlOiCmM_xHqqkZx_
		// _xZkqqHx_iDeMiBfLiCkK_xHqqkZx_ON_xZkqqHx_iCmJiCmIiCmBiClNiCoIiClHiCoJiCmMiCmFiBeBjClCiCnHiCmIiCkCiBeC_xHqqkZx_
		// IME_xZkqqHx_iCkKiPoNiCmJ_xHqqkZx_VK_KANJI_xZkqqHx_iCpAjEkNjAlGiClFiClNiCoIiClHiCoJiCmMiCmFiBeB_xHqqkZx_IME_xZkqqHx_iOpMiCoIiCoAjClCiCnHiCmIiCkCiBeC_xHqqkZx_
		long lC;
		for (lC = VK_LBUTTON; lC != VK_KANA; lC++)
		{
			if (buffKey[lC] & 0x80)
				return TRUE;
		}
		for (lC = VK_ESCAPE; lC <= VK_RMENU; lC++)
		{
			if (buffKey[lC] & 0x80)
				return TRUE;
		}
	}
	return FALSE;
} // myIsAnyKeyOn.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	myIsShiftKey
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfGiDhEiDgHiDeMiBfLiCkK_xHqqkZx_ON_xZkqqHx_iCmJiCmIiCmBiCmEiCkCiCoJiCkJjClCiCnHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	ON_xZkqqHx_iCmMiPoKiNiHiCmN_xHqqkZx_TRUE_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.22 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
static BOOL myIsShiftKey ()
{
	return (GetKeyState(VK_SHIFT) < 0);
} // myIsShiftKey.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	myCalcTextBox
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iOhHjCoIiClDiCoKiClNiDgFiDeMiDfIiDgHiCpAiDfKiDePiDiBiDjDiDgHiCmJjFkKiKiEiClFiBeBjDkPiOjOiCmJiDgFiDeMiDfIiDgHiCkKiOpLiCnMiCoJ_xHqqkZx_
 *			_xZkqqHx_iDhLiDgCiDeOiDfIiCmMiDfEiDeDiDfJiCpAiMhGiOfKiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	vSplitText	:_xZkqqHx_jFkKiKiEiClDiCoKiClNjFlGiOjKiCmMiPoOjFpBiCpAjFnEiClHiBeC_xHqqkZx_
//----- 06.05.17 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
// *			pDC			:_xZkqqHx_jFlGiOjKjFjNiCpAiMhGiOfKiClHiCoJiInHiCmMiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiBeC_xHqqkZx_
// *						 _xZkqqHx_jHfMiCnPiBeBiMhGiOfKjHhAiCmJiDhGiDiNiDhMiBfLiDfGiDiHiDgJiDiLiDhEiDeIiDjDiDgHiCpAjAnNjCoIiClFiCmEiCkIiCkNiBeC_xHqqkZx_
//----- 06.05.17 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
 *			fontPropo	:_xZkqqHx_iDhGiDiNiDhMiBfLiDfGiDiHiDgJiDiLiDhEiDeIiDjDiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *			fontPropoBold:_xZkqqHx_iDhGiDiNiDhMiBfLiDfGiDiHiDgJiDiLiDhEiDeIiDjDiDgHiCmMjBlOjFlGiOjKiCpAiOhHjCoIiBeC_xHqqkZx_
 *			fontMono	:_xZkqqHx_iMmFjCoIjFjNiDhEiDeIiDjDiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *			wcpText		:_xZkqqHx_iMhGiOfKiClHiCoJiInHiCmMjFlGiOjKjHpBiCpAiOhHjCoIiBeC_xHqqkZx_
 *			pxMonoCharWidth	:_xZkqqHx_jElMiKhAiCmMjFlGiOjKjFjNiCpAiOhHjCoIiBeCiDeBiDiLiDhEiDeAiDhIiDgCiDgH_xHqqkZx_(0x20_xZkqqHx_iBgA_xHqqkZx_0x7e)_xZkqqHx_iCmF_xHqqkZx_
 *						 _xZkqqHx_iNmFiCoAjBoFiCkLiCkCjFjNiBeC_xHqqkZx_
 *			pxMonoCharHeight:_xZkqqHx_jFlGiOjKiCmMiNiCiClDiCpAiOhHjCoIiBeC_xHqqkZx_
 *			pxLineGap	:_xZkqqHx_iNhDiCmGiNhDiCmMiKnEiCmMiDeNiDiDiDgCiDhGiCpAiOhHjCoIiBeCiLpEjAjEiCmJiClHiCoJiClBiCmGiBeC_xHqqkZx_
 *			wCodePage	: _xZkqqHx_iClBiCmMjFlGiOjKiCmMiDfCiBfLiDgIiDhJiBfLiDfHiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDhLiDgCiDeOiDfIiDfEiDeDiDfJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkNiEjPiEjPiEkG_xHqqkZx_
 *         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkAiBkJ_xHqqkZx_ pxLineGap/2            _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *         _xZkqqHx_iEkLiCfAiNhDjGnK_xHqqkZx_                        _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkAiBkJ_xHqqkZx_ pxLineGap              _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_                          _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *         _xZkqqHx_iEkLiCfBiNhDjGnK_xHqqkZx_                        _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkAiBkJ_xHqqkZx_ pxLineGap              _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_                          _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *         _xZkqqHx_iEkLiCfCiNhDjGnK_xHqqkZx_                        _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkAiBkJ_xHqqkZx_ pxLineGap              _xZkqqHx_iEkL_xHqqkZx_  size.cy
 *         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_                          _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *         _xZkqqHx_iEkLiCfDiNhDjGnK_xHqqkZx_                        _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkAiBkJ_xHqqkZx_ pxLineGap              _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_                          _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *         _xZkqqHx_iEkLiCfEiNhDjGnK_xHqqkZx_                        _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkAiBkJ_xHqqkZx_ pxLineGap              _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_                          _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *         _xZkqqHx_iEkLiCfFiNhDjGnK_xHqqkZx_                        _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkAiBkJ_xHqqkZx_ pxLineGap/2            _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *         _xZkqqHx_iEkPiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkOiEjPiEjPiEkI_xHqqkZx_
 *         _xZkqqHx_iEkA_xHqqkZx_                              _xZkqqHx_iEkA_xHqqkZx_
 *         _xZkqqHx_iEkAiEjPiEjPiEjPiEjPiEjP_xHqqkZx_ size.cx -_xZkqqHx_iEjPiEjPiEjPiEjPiEjPiEkA_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.19 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
static CSize myCalcTextBox (vector<FCSplitTextRec>& vSplitText,
							FCAtFont& fontPropo,
							FCAtFont& fontPropoBold,
							FCAtFont& fontMono,
							const wchar_t* wcpText,
							long pxMonoCharWidth,
							long pxMonoCharHeight,
							long pxLineGap,
							WORD wCodePage)
{
	char mode = '\0';			// _xZkqqHx_iMlLiNnNiCmMiDiCiBfLiDgIiBeC_xHqqkZx_
	WString wstrLink;			// _xZkqqHx_iDiKiDjDiDeOjFlGiOjKjHpBiBeC_xHqqkZx_
	BOOL bIsConstWidth = FALSE;	// _xZkqqHx_jDjJjFjNjFlGiOjKjHpBiCkJiBeI_xHqqkZx_
// 06.05.20 Fukushiro M. 1_xZkqqHx_iNhDjCmHiJmB_xHqqkZx_ ()
	BOOL bIsBold = FALSE;		// _xZkqqHx_jBlOjFlGiOjKiCkJiBeI_xHqqkZx_

	vSplitText.clear();
	vSplitText.push_back(FCSplitTextRec());
	for (; *wcpText != L'\0'; wcpText++)
	{
		// _xZkqqHx_iJpMiNhDiCmM_xHqqkZx_'\r'_xZkqqHx_iCmMiPoKiNiHiCmNiDfIiDeMiDgCiDhGiBeC_xHqqkZx_
		if (*wcpText == L'\r') continue;
		switch (mode)
		{
		case '\0':	// _xZkqqHx_iDgNiBfLiDhNiDiLiDiCiBfLiDgIiBeC_xHqqkZx_
			if (wcsncmp(wcpText, L"<a ", 3) == 0)
			//----- _xZkqqHx_iDiKiDjDiDeOiDfOiDePiKeKiOgOiCmMiPoKiNiH_xHqqkZx_ -----
			{
				// _xZkqqHx_iDgFiDeMiDfIiDgHiCpAjFkKiKiEiBeC_xHqqkZx_
				if (!vSplitText.back().m_wstrText.IsEmpty())
					vSplitText.push_back(FCSplitTextRec());
				// _xZkqqHx_iDiKiDjDiDeOiDfOiDePiDiCiBfLiDgIiCnGiBeC_xHqqkZx_
				mode = 'a';
				wstrLink.Empty();
				wcpText += 2;
			} else
			if (wcsncmp(wcpText, L"</a>", 4) == 0)
			{
				// _xZkqqHx_iDgFiDeMiDfIiDgHiCpAjFkKiKiEiBeC_xHqqkZx_
				if (!vSplitText.back().m_wstrText.IsEmpty())
					vSplitText.push_back(FCSplitTextRec());
				// _xZkqqHx_iDiKiDjDiDeOjFlGiOjKjHpBiCpAiLpDiCmJiClHiCoJiBeC_xHqqkZx_
				wstrLink.Empty();
				wcpText += 3;
			} else
			if (wcsncmp(wcpText, L"<c>", 3) == 0)
			{
				// _xZkqqHx_iDgFiDeMiDfIiDgHiCpAjFkKiKiEiBeC_xHqqkZx_
				if (!vSplitText.back().m_wstrText.IsEmpty())
					vSplitText.push_back(FCSplitTextRec());
				// _xZkqqHx_jDjJjFjNjFlGiOjKjHpBiBiBiChDiChBiChEiCgEiCmJjAnNjCoIiBeC_xHqqkZx_
				bIsConstWidth = TRUE;
				wcpText += 2;
			} else
			if (wcsncmp(wcpText, L"</c>", 4) == 0)
			{
				// _xZkqqHx_iDgFiDeMiDfIiDgHiCpAjFkKiKiEiBeC_xHqqkZx_
				if (!vSplitText.back().m_wstrText.IsEmpty())
					vSplitText.push_back(FCSplitTextRec());
				// _xZkqqHx_jDjJjFjNjFlGiOjKjHpBiBiBiCgFiCgAiCgLiChCiCgEiCmJjAnNjCoIiBeC_xHqqkZx_
				bIsConstWidth = FALSE;
				wcpText += 3;
			} else
//----- 06.05.20 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
			if (wcsncmp(wcpText, L"<b>", 3) == 0)
			{
				// _xZkqqHx_iDgFiDeMiDfIiDgHiCpAjFkKiKiEiBeC_xHqqkZx_
				if (!vSplitText.back().m_wstrText.IsEmpty())
					vSplitText.push_back(FCSplitTextRec());
				// _xZkqqHx_jBlOjFlGiOjKiBiBiChDiChBiChEiCgEiCmJjAnNjCoIiBeC_xHqqkZx_
				bIsBold = TRUE;
				wcpText += 2;
			} else
			if (wcsncmp(wcpText, L"</b>", 4) == 0)
			{
				// _xZkqqHx_iDgFiDeMiDfIiDgHiCpAjFkKiKiEiBeC_xHqqkZx_
				if (!vSplitText.back().m_wstrText.IsEmpty())
					vSplitText.push_back(FCSplitTextRec());
				// _xZkqqHx_jBlOjFlGiOjKiBiB_xHqqkZx_FALSE_xZkqqHx_iCmJjAnNjCoIiBeC_xHqqkZx_
				bIsBold = FALSE;
				wcpText += 3;
			} else
//----- 06.05.20 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
			{
				// _xZkqqHx_iDiKiDjDiDeOjFlGiOjKjHpBiCkKjAnNjCoIiClDiCoKiCmEiCkCiCoJiPoKiNiHiCmNiBeBiDfKiDePiDiBiDjDiDgHiCmJjDgPjIfOiBeC_xHqqkZx_
				if (vSplitText.back().m_wstrLink.IsEmpty() && !wstrLink.IsEmpty())
					vSplitText.back().m_wstrLink = wstrLink;
				// _xZkqqHx_jDjJjFjNjFlGiOjKjHpBiCkJiCmHiCkEiCkJiCpAjAnNjCoIiBeC_xHqqkZx_
				vSplitText.back().m_bIsConstWidth = bIsConstWidth;
//----- 06.05.20 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
				// _xZkqqHx_jBlOjFlGiOjKiCkJiCmHiCkEiCkJiCpAjAnNjCoIiBeC_xHqqkZx_
				vSplitText.back().m_bIsBold = bIsBold;
//----- 06.05.20 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
				if (*wcpText == L'\n')
				//----- _xZkqqHx_iJpMiNhDiCmMiPoKiNiH_xHqqkZx_ -----
				{
					// _xZkqqHx_iJpMiNhDiDhEiDiJiDePiCpAjAnNjCoIiBeCiDgFiDeMiDfIiDgHiCmJiJpMiNhDjFlGiOjKiCmNjDgPjIfOiClFiCmIiCkCiBeC_xHqqkZx_
					vSplitText.back().m_bIsCR = TRUE;
					// _xZkqqHx_iDgFiDeMiDfIiDgHiCpAjFkKiKiEiBeC_xHqqkZx_
					vSplitText.push_back(FCSplitTextRec());
				} else
				{
					// _xZkqqHx_iDgFiDeMiDfIiDgHiCpAjCmHiJmBiBeC_xHqqkZx_
					vSplitText.back().m_wstrText += *wcpText;
				}
			}
			break;
		case 'a':	// _xZkqqHx_iDiKiDjDiDeOiDfOiDePiDiCiBfLiDgIiBeC_xHqqkZx_"<a _xZkqqHx_iBeFiBeFiBeFiBeF_xHqqkZx_"
			if (*wcpText == L'>')
			//----- _xZkqqHx_iDiKiDjDiDeOiDfOiDePiCpAjFmCiClGiCoJiPoKiNiH_xHqqkZx_ -----
			{
				// _xZkqqHx_iDgNiBfLiDhNiDiLiDiCiBfLiDgIiCnGiBeC_xHqqkZx_
				mode = '\0';
			} else
			//----- _xZkqqHx_iDiKiDjDiDeOiDfOiDePiCpAjFmCiClGiCmIiCkCiPoKiNiH_xHqqkZx_ -----
			{
				// _xZkqqHx_iDiKiDjDiDeOjFlGiOjKiCpAjCmHiJmBiBeC_xHqqkZx_
				wstrLink += *wcpText;
			}
			break;
		}
	}
	// _xZkqqHx_iDfKiDePiDiBiDjDiDgHjEhKjHpBiCmMiNmFiMoDiCkKiLpDiCmIiCoHiCmOiNoNiPjMiBeC_xHqqkZx_
	if (vSplitText.back().m_wstrText.IsEmpty())
		vSplitText.pop_back();

	vector<FCSplitTextRec>::iterator iTr;
	for (iTr = vSplitText.begin(); iTr != vSplitText.end(); iTr++)
	{
		// _xZkqqHx_iLpDiCmMiNhDiClOiCmGjFlGiOjKiDfEiDeDiDfJiCkKjBkKiCoKiCmIiCkCiCmMiCmFiBeBiLpDjEjCiCpAiIoKiCmCjDpMiCoKiCoJiBeC_xHqqkZx_
		if ((*iTr).m_wstrText.IsEmpty())
			(*iTr).m_wstrText = L" ";
	}

//----- 06.05.17 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	// _xZkqqHx_iMhGiOfKjHhAiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiBeC_xHqqkZx_
	CDC dc;
	dc.CreateDC(_T("DISPLAY"), NULL, NULL, NULL);
//----- 06.05.17 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
	FCAutoDC atDC(&dc, FALSE, 0, 0);
	long lMostRight = 0;				// _xZkqqHx_iNhDiCmMiNmFiCoAiJeFjBkEiCpAiLeMjIfOiBeC_xHqqkZx_
// 06.05.17 Fukushiro M. 1_xZkqqHx_iNhDjCmHiJmB_xHqqkZx_ ()
	long lMostBottom = 0;				// _xZkqqHx_iNhDiCmMiNmFiCoAiJlKjBkEiCmMiNmAjFfHiBeC_xHqqkZx_
	CPoint ptStart(0, pxLineGap / 2);	// _xZkqqHx_iDgFiDeMiDfIiDgHjFgAiJoGiCmMiKoOjDfPiBeC_xHqqkZx_
	for (iTr = vSplitText.begin(); iTr != vSplitText.end(); iTr++)
	{
		if ((*iTr).m_bIsConstWidth)
		//----- _xZkqqHx_jDjJjFjNjFlGiOjKjHpBiCmMiPoKiNiH_xHqqkZx_ -----
		{
//----- 06.05.17 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
			// _xZkqqHx_jDjJjFjNiDhEiDeIiDjDiDgHiCmMiPoKiNiHiCmNiBeBjBlOjFlGiOjKiCmMjFjNiCmNiNgMjHlGiClFiCmIiCkCiBeC_xHqqkZx_
			// _xZkqqHx_iDhEiDeIiDjDiDgHiCpAjAnNjCoIiBeC_xHqqkZx_
			atDC.SetObject(fontMono);
//----- 06.05.17 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----

			long lWidth = 0;
			WString::iterator iCh;
			for (iCh = (*iTr).m_wstrText.begin(); iCh != (*iTr).m_wstrText.end(); iCh++)
			{
				if (myIsLineChar(*iCh))
				//----- _xZkqqHx_iMhCjApMjFlGiOjKiCmMiPoKiNiH_xHqqkZx_ -----
				{
					// _xZkqqHx_iMhCjApMiCmMiPoKiNiHiCmNiCfBjEhLjFjNiCmGiCkLiCnPiCkEiClPiBeCjDpKjGhLiMoKiCmMiDfCiBfLiDgIiDhJiBfLiDfHiCmIiCoH_xHqqkZx_
					// GetCharABCWidth_xZkqqHx_iKnGjAjEiCmFjClCiCnHiCmEiCoAjGoCjBoIjGlDiCkCiCkKiBeBjBlMiNjBiMoKiDfCiBfLiDgIiDhJiBfLiDfHiCmM_xHqqkZx_
					// _xZkqqHx_iPoKiNiHiBeBiMhCjApMjFlGiOjKiCkKjEhLjFjNiCpAjFnEiClHiCkJiJpGiClFiCkCiCmMiCmFiBeBiCkLiCnPiCkEiClPiCmMiPiIjHjNiBeC_xHqqkZx_
					(*iTr).m_viDxWidths.push_back(pxMonoCharWidth * 2);
				} else
				//----- _xZkqqHx_iMhCjApMjFlGiOjKiImIiKePiCmMiPoKiNiH_xHqqkZx_ -----
				{
					// _xZkqqHx_jFlGiOjKjFjNiCpAiOoGjDlOiBeC_xHqqkZx_
					ABC abc;
					atDC.GetCharABCWidth(*iCh, abc, wCodePage);
					// _xZkqqHx_iKoOiPiAjFjNiCpAjClEiCkGiCmEiCkCiCoJiPoKiNiHiCmNjEhLjFjNjFlGiOjKiCmGiClHiCoJiBeC_xHqqkZx_
					if (pxMonoCharWidth < abc.abcA + abc.abcB + abc.abcC)
						(*iTr).m_viDxWidths.push_back(pxMonoCharWidth * 2);
					else
						(*iTr).m_viDxWidths.push_back(pxMonoCharWidth);
				}
				lWidth += (*iTr).m_viDxWidths.back();
			}
			(*iTr).m_rtTextFrame = CRect(ptStart, ptStart + CSize(lWidth, pxMonoCharHeight));
		} else
		//----- _xZkqqHx_iJmCjFmPjFjNjFlGiOjKjHpBiCmMiPoKiNiH_xHqqkZx_ -----
		{
//----- 06.05.20 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
			// _xZkqqHx_jBlOjFlGiOjKiCkJiDgNiBfLiDhNiDiLiCkJiCmFiDhEiDeIiDjDiDgHiCpAjAnNjCoIiBeC_xHqqkZx_
			if ((*iTr).m_bIsBold)
				atDC.SetObject(fontPropoBold);
			else
				atDC.SetObject(fontPropo);
//----- 06.05.20 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
			// CString_xZkqqHx_iCmJjFmPiKlHiClFiCmEiCkJiCoHjFlGiOjKjHpBiDfEiDeDiDfJiCpAiOoGjDlOiBeC_xHqqkZx_
			CSize szText = atDC.GetOutputTextExtent((*iTr).m_wstrText, (*iTr).m_wstrText.GetLength(), wCodePage);
			(*iTr).m_rtTextFrame = CRect(ptStart, ptStart + szText);
		}
		// _xZkqqHx_iNmFiCoAiJeFjBkEjFmPjAjEiCpAiNfIjAfGiBeC_xHqqkZx_
		if (lMostRight < (*iTr).m_rtTextFrame.right)
			lMostRight = (*iTr).m_rtTextFrame.right;
//----- 06.05.17 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
		// _xZkqqHx_iMhGiOfKjCiGiCmMiNhDiCmMiJlKiCmMiNmAjFfHiCpAiNfIjAfGiBeC_xHqqkZx_
		if (lMostBottom < (*iTr).m_rtTextFrame.bottom)
			lMostBottom = (*iTr).m_rtTextFrame.bottom;
//----- 06.05.17 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
		if ((*iTr).m_bIsCR)
		//----- _xZkqqHx_iClBiCmMiDfKiDePiDiBiDjDiDgHiCkKiJpMiNhDiCmFiPeJjHlJiCmMiPoKiNiH_xHqqkZx_ -----
		{
			// _xZkqqHx_jFlGiOjKjFgAiJoGiKoOjDfPiCpAiCfAiNhDiJlKiCmJiJlKiClAiCoJiBeC_xHqqkZx_
			ptStart.x = 0;
//----- 06.05.17 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//			ptStart.y = (*iTr).m_rtTextFrame.bottom + pxLineGap;
//----- 06.05.17 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
			ptStart.y = lMostBottom + pxLineGap;
//----- 06.05.17 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
		} else
		//----- _xZkqqHx_iClBiCmMiDfKiDePiDiBiDjDiDgHiCkKiJpMiNhDiImIiKePiCmFiPeJjHlJiCmMiPoKiNiH_xHqqkZx_ -----
		{
			// _xZkqqHx_jFlGiOjKjFgAiJoGiKoOjDfPiCpAiJeFjBkEiCmJiInKjDkOiClHiCoJiBeC_xHqqkZx_
			ptStart.x = (*iTr).m_rtTextFrame.right;
		}
	}
//----- 06.05.17 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	return CSize(lMostRight,
//				 vSplitText.back().m_rtTextFrame.bottom + (pxLineGap / 2));
//----- 06.05.17 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	return CSize(lMostRight, lMostBottom + (pxLineGap / 2));
//----- 06.05.17 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // myCalcTextBox.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	myDrawText
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	
 *
 * <_xZkqqHx_iPnKiNnH_xHqqkZx_>	
 *
 * <_xZkqqHx_jCiNiInD_xHqqkZx_>	
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.21 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
static void myDrawText (CDC* pDC,
						LOGFONT lfTextPropo,
// 06.05.17 Fukushiro M. 1_xZkqqHx_iNhDjCmHiJmB_xHqqkZx_ ()
						LOGFONT lfTextMono,
						const CPoint& ptTextLT,
						long pxLineGap,
						COLORREF crNormalText,
						COLORREF crLinkText,
						COLORREF crActiveLinkText,
						const FCSplitTextRec* pSplitText,
						long lSplitTextCount,
						WORD wCodePage,
						long lActiveTextIndex)
{
	// CDC_xZkqqHx_iCpA_xHqqkZx_Auto_xZkqqHx_iCmFiDiJiDgCiDhGiBeC_xHqqkZx_
	FCAutoDC atDC(pDC, FALSE, 0, 0);
	// _xZkqqHx_iDgNiBfLiDhNiDiLiDhEiDeIiDjDiDgHiBhLiDhGiDiNiDhMiBfLiDfGiDiHiDgJiDiLiCpAiNoMjAkMiBeC_xHqqkZx_
	FCAtFont fontNormalPropo;
	lfTextPropo.lfWeight = FW_NORMAL;
	lfTextPropo.lfUnderline = FALSE;
	FFCreateFontIndirect(*fontNormalPropo.Get(), lfTextPropo);
	// _xZkqqHx_iDiKiDjDiDeOiDhEiDeIiDjDiDgHiBhLiDhGiDiNiDhMiBfLiDfGiDiHiDgJiDiLiCpAiNoMjAkMiBeC_xHqqkZx_
	FCAtFont fontLinkPropo;
	lfTextPropo.lfWeight = FW_NORMAL;
	lfTextPropo.lfUnderline = TRUE;
	FFCreateFontIndirect(*fontLinkPropo.Get(), lfTextPropo);

//----- 06.05.17 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	// _xZkqqHx_iDgNiBfLiDhNiDiLiDhEiDeIiDjDiDgHiBhLiDhGiDiNiDhMiBfLiDfGiDiHiDgJiDiLiBhLjBlOjFlGiOjKiCpAiNoMjAkMiBeC_xHqqkZx_
	FCAtFont fontNormalPropoBold;
	lfTextPropo.lfWeight = FW_BOLD;
	lfTextPropo.lfUnderline = FALSE;
	FFCreateFontIndirect(*fontNormalPropoBold.Get(), lfTextPropo);
	// _xZkqqHx_iDiKiDjDiDeOiDhEiDeIiDjDiDgHiBhLiDhGiDiNiDhMiBfLiDfGiDiHiDgJiDiLiBhLjBlOjFlGiOjKiCpAiNoMjAkMiBeC_xHqqkZx_
	FCAtFont fontLinkPropoBold;
	lfTextPropo.lfWeight = FW_BOLD;
	lfTextPropo.lfUnderline = TRUE;
	FFCreateFontIndirect(*fontLinkPropoBold.Get(), lfTextPropo);

	// _xZkqqHx_iDgNiBfLiDhNiDiLiDhEiDeIiDjDiDgHiBhLiMmFjCoIjFjNiCpAiNoMjAkMiBeC_xHqqkZx_
	FCAtFont fontNormalMono;
	lfTextPropo.lfWeight = FW_NORMAL;
	lfTextMono.lfUnderline = FALSE;
	FFCreateFontIndirect(*fontNormalMono.Get(), lfTextMono);
	// _xZkqqHx_iDiKiDjDiDeOiDhEiDeIiDjDiDgHiBhLiMmFjCoIjFjNiCpAiNoMjAkMiBeC_xHqqkZx_
	FCAtFont fontLinkMono;
	lfTextPropo.lfWeight = FW_NORMAL;
	lfTextMono.lfUnderline = TRUE;
	FFCreateFontIndirect(*fontLinkMono.Get(), lfTextMono);

	// _xZkqqHx_iDgNiBfLiDhNiDiLiDhEiDeIiDjDiDgHiBhLiMmFjCoIjFjNiBhLjBlOjFlGiOjKiCpAiNoMjAkMiBeC_xHqqkZx_
	FCAtFont fontNormalMonoBold;
	lfTextPropo.lfWeight = FW_BOLD;
	lfTextMono.lfUnderline = FALSE;
	FFCreateFontIndirect(*fontNormalMonoBold.Get(), lfTextMono);
	// _xZkqqHx_iDiKiDjDiDeOiDhEiDeIiDjDiDgHiBhLiMmFjCoIjFjNiBhLjBlOjFlGiOjKiCpAiNoMjAkMiBeC_xHqqkZx_
	FCAtFont fontLinkMonoBold;
	lfTextPropo.lfWeight = FW_BOLD;
	lfTextMono.lfUnderline = TRUE;
	FFCreateFontIndirect(*fontLinkMonoBold.Get(), lfTextMono);
//----- 06.05.17 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----

	// _xZkqqHx_iDgFiDeMiDfIiDgHjFgAiJoGiOjOiCmMjEhHiMgJiCpAjDgIiCoIjCnHiClDiCmIiCkCiBeC_xHqqkZx_
	atDC.SetBkMode(TRANSPARENT);
	// _xZkqqHx_iDhJiDjDiCpAjAnNjCoIiBeC_xHqqkZx_
	atDC.SetPen(PS_SOLID, 1, crNormalText);

	long lIndex;
	for (lIndex = 0; lIndex != lSplitTextCount; lIndex++)
	{
		CRect rtText = pSplitText[lIndex].m_rtTextFrame + ptTextLT;
		if (pSplitText[lIndex].m_wstrLink.IsEmpty())
		//----- _xZkqqHx_jCmKiPoNiDgFiDeMiDfIiDgHiCmMiPoKiNiH_xHqqkZx_ -----
		{
			// _xZkqqHx_jFlGiOjKjFgAiJoGiCmMjAeGiCpAjAnNjCoIiBeC_xHqqkZx_
			atDC.SetTextColor(crNormalText);
		} else
		//----- _xZkqqHx_iDiKiDjDiDeOiDgFiDeMiDfIiDgHiCmMiPoKiNiH_xHqqkZx_ -----
		{
			if (lIndex == lActiveTextIndex)
			//----- _xZkqqHx_iDhBiDgCiDgHjCiGiCmMiDiKiDjDiDeOiCmMiPoKiNiH_xHqqkZx_ -----
			{
				// _xZkqqHx_jFlGiOjKjFgAiJoGiCmMjAeGiCpAjAnNjCoIiBeC_xHqqkZx_
				atDC.SetTextColor(crActiveLinkText);
			} else
			//----- _xZkqqHx_jCmKiPoNiCmMiDiKiDjDiDeOiDgFiDeMiDfIiDgHiCmMiPoKiNiH_xHqqkZx_ -----
			{
				// _xZkqqHx_jFlGiOjKjFgAiJoGiCmMjAeGiCpAjAnNjCoIiBeC_xHqqkZx_
				atDC.SetTextColor(crLinkText);
			}
		}
		if (pSplitText[lIndex].m_bIsConstWidth)
		//----- _xZkqqHx_jDjJjFjNjFlGiOjKjHpBiCmMiPoKiNiH_xHqqkZx_ -----
		{
//----- 06.05.18 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
			if (pSplitText[lIndex].m_wstrLink.IsEmpty())
			//----- _xZkqqHx_jCmKiPoNiDgFiDeMiDfIiDgHiCmMiPoKiNiH_xHqqkZx_ -----
			{
				// _xZkqqHx_iDgNiBfLiDhNiDiLiDhEiDeIiDjDiDgHiCpAjAnNjCoIiBeC_xHqqkZx_
				if (pSplitText[lIndex].m_bIsBold)
					atDC.SetObject(fontNormalMonoBold);
				else
					atDC.SetObject(fontNormalMono);
			} else
			//----- _xZkqqHx_iDiKiDjDiDeOiDgFiDeMiDfIiDgHiCmMiPoKiNiH_xHqqkZx_ -----
			{
				// _xZkqqHx_iDiKiDjDiDeOiDhEiDeIiDjDiDgHiCpAjAnNjCoIiBeC_xHqqkZx_
				if (pSplitText[lIndex].m_bIsBold)
					atDC.SetObject(fontLinkMonoBold);
				else
					atDC.SetObject(fontLinkMono);
			}
//----- 06.05.18 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
			const WString& wstrText = pSplitText[lIndex].m_wstrText;
			const vector<int>& viDxWidths = pSplitText[lIndex].m_viDxWidths;
			long lLeftTmp = rtText.left;
			long lRightTmp = rtText.left;
			WString wstrTmp;
			vector<int> vWidthTmp;
			long lC;
			for (lC = 0; lC != wstrText.GetLength(); lC++)
			{
				if (myIsLineChar(wstrText.GetAt(lC)))
				{
					if (!wstrTmp.IsEmpty())
					{
						atDC.ExtTextOut(lLeftTmp, rtText.top, wstrTmp, wCodePage, vWidthTmp.begin());
						wstrTmp.Empty();
						vWidthTmp.clear();
					}
					lLeftTmp = lRightTmp;
					lRightTmp += viDxWidths[lC];
					myDrawLineChar(	pDC,
									CRect(	lLeftTmp,
											rtText.top - (pxLineGap / 2),
											lRightTmp,
											rtText.bottom + (pxLineGap / 2)),
									wstrText.GetAt(lC));
					lLeftTmp = lRightTmp;
				} else
				{
					wstrTmp += wstrText.GetAt(lC);
					vWidthTmp.push_back(viDxWidths[lC]);
					lRightTmp += viDxWidths[lC];
				}
			}
			if (!wstrTmp.IsEmpty())
				atDC.ExtTextOut(lLeftTmp, rtText.top, wstrTmp, wCodePage, vWidthTmp.begin());
		} else
		//----- _xZkqqHx_iJmCjFmPjFjNjFlGiOjKjHpBiCmMiPoKiNiH_xHqqkZx_ -----
		{
//----- 06.05.18 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
			if (pSplitText[lIndex].m_wstrLink.IsEmpty())
			//----- _xZkqqHx_jCmKiPoNiDgFiDeMiDfIiDgHiCmMiPoKiNiH_xHqqkZx_ -----
			{
				// _xZkqqHx_iDgNiBfLiDhNiDiLiDhEiDeIiDjDiDgHiCpAjAnNjCoIiBeC_xHqqkZx_
				if (pSplitText[lIndex].m_bIsBold)
					atDC.SetObject(fontNormalPropoBold);
				else
					atDC.SetObject(fontNormalPropo);
			} else
			//----- _xZkqqHx_iDiKiDjDiDeOiDgFiDeMiDfIiDgHiCmMiPoKiNiH_xHqqkZx_ -----
			{
				// _xZkqqHx_iDiKiDjDiDeOiDhEiDeIiDjDiDgHiCpAjAnNjCoIiBeC_xHqqkZx_
				if (pSplitText[lIndex].m_bIsBold)
					atDC.SetObject(fontLinkPropoBold);
				else
					atDC.SetObject(fontLinkPropo);
			}
//----- 06.05.18 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
			atDC.ExtTextOut(rtText.left, rtText.top,
							pSplitText[lIndex].m_wstrText, CP_ACP, NULL);
		}
	}
} // myDrawText.

/////////////////////////////////////////////////////////////////////////////
// CFCPursuerText

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::CFCPursuerText
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgGiDhEiDeIiDiLiDgHiDfCiDjDiDfIiDgHiDiJiDeOiDfOiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.05.17 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
CFCPursuerText::CFCPursuerText ()
{
	m_iCurState = STATE_IDLE;	// _xZkqqHx_iMlLiNnNiCmMiPpDjBnE_xHqqkZx_ _xZkqqHx_iCmJ_xHqqkZx_ _xZkqqHx_jBnCiLeAiCpAjAnNjCoIiBeC_xHqqkZx_

	m_mdmtTimeer = FDMILLISECTIME(-1);
	m_mdmtEventTime = FDMILLISECTIME(-1);
} // CFCPursuerText::CFCPursuerText.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::~CFCPursuerText
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgGiDfIiDgHiDiJiDeOiDfOiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.05.17 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
CFCPursuerText::~CFCPursuerText ()
{
} // CFCPursuerText::~CFCPursuerText.

BEGIN_MESSAGE_MAP(CFCPursuerText, BASE_CLASS)
	//{{AFX_MSG_MAP(CFCPursuerText)
	ON_WM_PAINT()
	ON_WM_TIMER()
	ON_WM_CREATE()
	ON_WM_DESTROY()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFCPursuerText _xZkqqHx_iDiGiBfLiDfFiKnGjAjEiBeC_xHqqkZx_

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::Create
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iClBiCmMiDeJiDhFiDfHiDeGiDeOiDgHiCmJiMiLiCnBjFhEiCkPiCoHiCoKiClNiOhBiDeFiDeCiDjDiDgIiDeFiCpAiNoMjAkMiClFiBeB_xHqqkZx_
 *			_xZkqqHx_iPiJiKpKiJlLiCpAiNhDiCkEiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	TRUE	:_xZkqqHx_jAlDiPoNiPeJjHlJ_xHqqkZx_
 *			FALSE	:_xZkqqHx_iInJiPoNiPeJjHlJ_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.03.21 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
BOOL CFCPursuerText::Create ()
{
	//----- _xZkqqHx_iDeOiDiJiDfIiCpAjDgPjIfOiBeCiBgJ_xHqqkZx_MoveInn_xZkqqHx_iOjOiCmM_xHqqkZx_)_xZkqqHx_iDeKiBfLiDfMiDiLiCmNjFhDjHhG_xHqqkZx_ -----
	if (m_lpszClassName == NULL)
    	m_lpszClassName = ::AfxRegisterWndClass(CS_HREDRAW | CS_VREDRAW);
	if (!CreateEx(	WS_EX_TOPMOST, m_lpszClassName, _T(""), WS_POPUP,
					CRect(0,0,1,1), NULL, 0))
		return FALSE;

	// _xZkqqHx_iJoGjFgFiDeBiDeDiDfCiDjDiCpAjDmHiCnNiNjOiCnOiBeC_xHqqkZx_
	m_hIconTackOn = FFGetApp()->LoadIcon(IDI_TACK_ON);
	m_hIconTackOff = FFGetApp()->LoadIcon(IDI_TACK_OFF);

	return TRUE;
} // CFCPursuerText::Create.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::RegisterPopHintTarget
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiCmMiDfOiBfLiDfBiDgCiDgHiDeFiDeCiDjDiDgIiDeFiCpAjAnNjCoIiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	hwnd	:_xZkqqHx_iDfOiBfLiDfBiDgCiDgHiDeFiDeCiDjDiDgIiDeFiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iImIjBePiCmNiBeBiDhNiDeFiDfIiPoDiCmJiCkAiCoJiDeFiDeCiDjDiDgIiDeFiCmJjAkHiMmAiCmIiCkN_xHqqkZx_
 *			WM_USER_PURSUER_TEXT_NEED_INFO _xZkqqHx_iCpAjBjHiCmBiCmEiCkCiClNiCkKiBeB_xHqqkZx_
 *			Windows98/Me _xZkqqHx_iCmF_xHqqkZx_ COlePasteSpecialDialog _xZkqqHx_iCmJiDiBiDgCiDfKiBfLiDfHiCpA_xHqqkZx_
 *			_xZkqqHx_jBjHiCmBiClNiCmGiClBiCoLiBeB_xHqqkZx_Paste_xZkqqHx_iMpDjFoCiCkKiClMiCoLiClMiCoLjBjNiCkGiCmEiDeHiDiJiBfLiCpAiLeOiClBiClFiClNiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.03.15 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::RegisterPopHintTarget (HWND hwnd)
{
	m_stTargetHwnd.insert(hwnd);
} // CFCPursuerText::RegisterPopHintTarget.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::UnregisterPopHintTarget
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiCmMiDfOiBfLiDfBiDgCiDgHiDeFiDeCiDjDiDgIiDeFiCpAiJpAiPjMiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	hwnd	:_xZkqqHx_iDfOiBfLiDfBiDgCiDgHiDeFiDeCiDjDiDgIiDeFiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.03.15 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::UnregisterPopHintTarget (HWND hwnd)
{
	m_stTargetHwnd.erase(hwnd);
} // CFCPursuerText::UnregisterPopHintTarget.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::SetTargetInfo
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfOiBfLiDfBiDgCiDgHiCmMiPoOjFpBiCpAjAnNjCoIiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	wcpText	:_xZkqqHx_iDfOiBfLiDfBiDgCiDgHiDeJiDhFiDfHiDeGiDeOiDgHiCpAjAoAjGlOiClHiCoJiDiBiDgCiDfKiBfLiDfHiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	WM_USER_PURSUER_TEXT_NEED_INFO_xZkqqHx_iDiBiDgCiDfKiBfLiDfHiCmJiCoGiCmBiCmEiBeBiPoOjFpBiCmMjHhGiLiBiCkK_xHqqkZx_
 *			_xZkqqHx_iDeFiDeCiDjDiDgIiDeFiCmJjBjHjFhEiClDiCoKiBeBiClBiCmMiKnGjAjEiCkKiOmAiNhDiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.06 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::SetTargetInfo (const wchar_t* wcpText)
{
//	TRACE(_T("CFCPursuerText::SetTargetInfo %s\n"), (const _TCHAR*)WStrToTStr(wcpText));
//----- 05.08.04 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	// _xZkqqHx_iDhBiDgCiDgHjCiGiCmMiDfCiDhNiDjDiDgIiBeC_xHqqkZx_
//	m_dwCommandId = DWORD(-1);
//----- 05.08.04 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
	// _xZkqqHx_iDhBiDgCiDgHjCiGiCmMiDiBiDgKiDiFiBfLiBeC_xHqqkZx_
	m_hwndMenu = NULL;
	// _xZkqqHx_iDfOiBfLiDfBiDgCiDgHiDiBiDgCiDfKiBfLiDfHiCpAjAnNjCoIiBeC_xHqqkZx_
	m_wstrNewMessage = wcpText;
} // CFCPursuerText::SetTargetInfo.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::SetTargetInfo
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfOiBfLiDfBiDgCiDgHiCmMiPoOjFpBiCpAjAnNjCoIiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	dwCommandId	:_xZkqqHx_iDfOiBfLiDfBiDgCiDgHiCmMiDfCiDhNiDjDiDgI_xHqqkZx_ID_xZkqqHx_iCpAiOhHjCoIiBeCjGlDiMpIiCmIiDfCiDhNiDjDiDgIiCmM_xHqqkZx_
 *						 _xZkqqHx_iPoKiNiHiCmN_xHqqkZx_DWORD(-1)_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *			 hwndMenu	:_xZkqqHx_iDfOiBfLiDfBiDgCiDgHiCmMiDiBiDgKiDiFiBfLiCmMiDeFiDeCiDjDiDgIiDeFiCpAiOhHjCoIiBeC_xHqqkZx_
 *						 _xZkqqHx_iDgDiBfLiDiLiDgPiBfLiCmMiPoKiNiHiCmN_xHqqkZx_NULL_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iDiBiDgKiDiFiBfLiCmMiDfCiDhNiDjDiDgIiPoDiCmJiDhNiDeFiDfIiDeKiBfLiDfMiDiLiCkKiCkAiCoJiPoKiNiHiCmJiOmAiNhDiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.20 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::SetTargetInfo (DWORD dwCommandId, HWND hwndMenu)
{
//----- 05.08.04 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	// _xZkqqHx_iDhBiDgCiDgHjCiGiCmMiDfCiDhNiDjDiDgIiBeC_xHqqkZx_
//	m_dwCommandId = dwCommandId;
//----- 05.08.04 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
	// _xZkqqHx_iDhBiDgCiDgHjCiGiCmMiDiBiDgKiDiFiBfLiBeC_xHqqkZx_
	m_hwndMenu = hwndMenu;
	// _xZkqqHx_iDfOiBfLiDfBiDgCiDgHiDiBiDgCiDfKiBfLiDfHiCpAjAnNjCoIiBeC_xHqqkZx_
	if (dwCommandId == DWORD(-1))
	//----- _xZkqqHx_iDfCiDhNiDjDiDgIiCkKjGlDiMpIiCmMiPoKiNiH_xHqqkZx_ -----
	{
		m_wstrNewMessage.Empty();
	} else
	if (ID_FILE_RECENT1 <= dwCommandId && dwCommandId <= ID_FILE_RECENTEND)
	//----- _xZkqqHx_iDfCiDhNiDjDiDgIiCkKiBhFiNmFiLnPiCmMiDhEiDeAiDeDiDiLiBhGiCmMiPoKiNiH_xHqqkZx_ -----
	{
//----- 06.03.09 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//		// _xZkqqHx_jBeJjBpAiClDiCoKiClNjHjKjHpAjFlGiPjBiPoOjFpBiCpAiOoGjDlOiBeC_xHqqkZx_
//		FCRecentList::Get(	short(dwCommandId - ID_FILE_RECENT1),
//							NULL,
//							&m_wstrNewMessage);
//----- 06.03.09 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
		switch (g_->appMode & FD_APPMODE_MASK)
		{
		case FD_APPMODE_HISTORICDRAW:	// HistoricDraw_xZkqqHx_iCmMiPoKiNiHiBeC_xHqqkZx_
		case FD_APPMODE_HISTORYVIEWER:	// _xZkqqHx_jHjKjHpAiDhCiDiFiBfLiDeBiCmMiPoKiNiHiBeC_xHqqkZx_
		  {
			// _xZkqqHx_jBeJjBpAiClDiCoKiClNjHjKjHpAjFlGiPjBiPoOjFpBiCpAiOoGjDlOiBeC_xHqqkZx_
			WString wstrProjectPath;
			WString wstrProjectTitle;
			WString wstrDocTitle;
			WString wstrDocVersion;
			FCRecentList::Get(	short(dwCommandId - ID_FILE_RECENT1),
								NULL,
								NULL,
								&wstrProjectPath,
								NULL,
								&wstrProjectTitle,
								&wstrDocTitle,
								&wstrDocVersion);
			// IDS_FORM_HTREE_PROPERTY_L =
			//		_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDhAiDfI_xHqqkZx_:%s\r\n
			//		_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDfOiDeDiDgHiDiL_xHqqkZx_:%s\r\n
			//		_xZkqqHx_jFlGiPjBiDfOiDeDiDgHiDiL_xHqqkZx_:%s\r\n
			//		_xZkqqHx_jFlGiPjBiDgPiBfLiDfHiDiHiDjD_xHqqkZx_:%s
			m_wstrNewMessage.Format(IDS_FORM_HTREE_PROPERTY_L,
									wstrProjectPath.c_str(),
									wstrProjectTitle.c_str(),
									wstrDocTitle.c_str(),
									wstrDocVersion.c_str());
			break;
		  }
		default:	// FD_APPMODE_DYNAMICDRAW:	// MolipDraw_xZkqqHx_iCmMiPoKiNiHiBeC_xHqqkZx_
			// _xZkqqHx_jBeJjBpAiClDiCoKiClNjFlGiPjBiCmMjClHiCkCiDhEiDeAiDeDiDiLjGlMiCpAiOoGjDlOiBeC_xHqqkZx_
			FCRecentList::Get(	short(dwCommandId - ID_FILE_RECENT1),
								NULL,
								&m_wstrNewMessage);
		}
//----- 06.03.09 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
	} else
	if (ID_PLUGIN_COMMAND_BGN <= dwCommandId && dwCommandId <= ID_PLUGIN_COMMAND_END)
	//----- _xZkqqHx_iDfCiDhNiDjDiDgIiCkKiBhFiDhGiDiJiDePiDeDiDjDjAoKjHhAiBhGiCmMiPoKiNiH_xHqqkZx_ -----
	{
		m_wstrNewMessage.Empty();
		// _xZkqqHx_iDhGiDiJiDePiDeDiDjDiCkJiCoHiDgFiDeMiDfIiDgHiCpAiOoGjDlOiBeC_xHqqkZx_
		FCExport::GetPopHint(m_wstrNewMessage, dwCommandId);
	} else
	//----- _xZkqqHx_jCmKiPoNiCmMiDfCiDhNiDjDiDgIiCmMiPoKiNiH_xHqqkZx_ -----
	{
//----- 06.03.09 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
		// _xZkqqHx_iDfCiDhNiDjDiDgIiCkKiBhFjFmKiCmMiDeFiDeCiDjDiDgIiDeFiBhGiCmMiPoKiNiHiCmNiBeB_xHqqkZx_ID_WINDOW_ANOTHER1_xZkqqHx_iCmJiCnMiCmGiCnPiCoJiBeC_xHqqkZx_
		if (ID_WINDOW_ANOTHER1 <= dwCommandId && dwCommandId <= ID_WINDOW_ANOTHEREND)
			dwCommandId = ID_WINDOW_ANOTHER1;
//----- 06.03.09 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
		// _xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiCmMiDgFiDeMiDfIiDgHiCpAiOoGjDlOiBeC_xHqqkZx_
		m_wstrNewMessage = FFGetApp()->GetPophintText(dwCommandId);
//----- 06.05.09 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//		if (!m_wstrNewMessage.IsEmpty())
//			m_wstrNewMessage += L"\r\n";
//----- 06.05.09 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
		// _xZkqqHx_iDeJiDjDiDiJiDeDiDjDiDhHiDiLiDhGiCkKjBlGiNnNiClHiCoJiPoKiNiHiCmNiBeBiDeJiDjDiDiJiDeDiDjDiDhHiDiLiDhGiCmMiDiKiDjDiDeOiCpAjCmHiJmBiBeC_xHqqkZx_
		if (FFGetApp()->IsValidHelpId(dwCommandId))
		//----- dwCommandId_xZkqqHx_iCmJjBmOiJjOiClHiCoJiDeJiDjDiDiJiDeDiDjDiDhHiDiLiDhGiCkKjBlGiNnNiClHiCoJiPoKiNiH_xHqqkZx_ -----
		{
			// _xZkqqHx_iDhBiDjDiDgHiDgFiDeMiDfIiDgHiCmMiNmFiMoDiCkKiJpMiNhDiCmFiCmNiCmIiCkCiPoKiNiHiCmNiBeBiJpMiNhDiCpAjCmHiJmBiBeC_xHqqkZx_
			if (!m_wstrNewMessage.IsEmpty() && m_wstrNewMessage.GetLast() != L'\n')
				m_wstrNewMessage += L"\r\n";
			// _xZkqqHx_jHoBiBeG_xHqqkZx_"<a WinHelp 1022>+ _xZkqqHx_iDgFiDeMiDfIiDgHiDhHiDiLiDhG_xHqqkZx_</a>"
			WString wstr;
			wstr.Format(L"  <a WinHelp %d>+ %s</a>",
						dwCommandId,
						FFLoadWString(IDS_TEXT_HELP).c_str());
			m_wstrNewMessage += wstr;
		}
		// _xZkqqHx_iDfCiDhNiDjDiDgIiCmJjBmOiJjOiClHiCoJiDhHiDiLiDhGiDiAiBfLiDhCiBfLiCpAjClCiCnHiCoJiBeC_xHqqkZx_
		longSet stMovieIndex;
		FFGetApp()->GetMovieIndex(stMovieIndex, dwCommandId);
		if (!stMovieIndex.empty())
		//----- _xZkqqHx_jBmOiJjOiClHiCoJiDiAiBfLiDhCiBfLiCkKjHeMiCoJiPoKiNiH_xHqqkZx_ -----
		{
//----- 06.05.09 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//			m_wstrNewMessage += L"\r\n";
//----- 06.05.09 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
			// _xZkqqHx_iDhBiDjDiDgHiDgFiDeMiDfIiDgHiCmMiNmFiMoDiCkKiJpMiNhDiCmFiCmNiCmIiCkCiPoKiNiHiCmNiBeBiJpMiNhDiCpAjCmHiJmBiBeC_xHqqkZx_
			if (!m_wstrNewMessage.IsEmpty() && m_wstrNewMessage.GetLast() != L'\n')
				m_wstrNewMessage += L"\r\n";
//----- 06.05.09 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
			m_wstrNewMessage += FFLoadWString(IDS_MOVIE_HELP);
			m_wstrNewMessage += L"\r\n";
			longSet::const_iterator iId;
			for (iId = stMovieIndex.begin(); iId != stMovieIndex.end(); iId++)
			{
				WString wstr;
				wstr.Format(L"  <a %s>+ %s</a>\r\n",
							FFGetApp()->GetMovieFileName(*iId).c_str(),
							FFGetApp()->GetMovieTitle(*iId).c_str());
				m_wstrNewMessage += wstr;
			}
		}
	}
} // CFCPursuerText::SetTargetInfo.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::OnMouseMove
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhNiDeFiDfIiCmMiInKjDkOiCoCiDhNiDeFiDfIiDhLiDfOiDjDiCmMiPpDjBnEjFmPiNfIiCpAjCmKjCgNiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::OnMouseMove ()
{
	// _xZkqqHx_iDhNiDeFiDfIiInKjDkOiDeDiDhIiDjDiDgHiCmNiBeBiDhNiDeFiDfIiCkKiInKjDkOiClFiCmEiCkCiCmIiCkCiCmJiCoAiKnGiCoNiCoHiClIiBeB_xHqqkZx_
	// _xZkqqHx_jCmHjAnFiDgFiDeMiDfIiDgHiCkKjFfMiOkGiClDiCoKiClNiPhFiKnEiCmIiCmHiCmJiCoAjEkNjAlGiClHiCoJiBeC_xHqqkZx_
	// _xZkqqHx_iDhNiDeFiDfIiNmAjFfHiCpAiDgAiDeGiDgCiDeOiClFiCmEiBeBiDhNiDeFiDfIiCkKiInKjDkOiClFiCmEiCkCiCoJiCkJjClCiCnHiCoJjFeLjHhGiCkKiCkAiCoJiBeC_xHqqkZx_

	// _xZkqqHx_iDhNiDeFiDfIiDeKiBfLiDfMiDiLiCmMiMlLiNnNiCmMiImKjChFiCpAiBeBiDfIiDeOiDiKiBfLiDjDiNmAjFfHiCmFiOoGjDlOiBeC_xHqqkZx_
	CPoint ptMouse;
	(void)::GetCursorPos(&ptMouse);
	// _xZkqqHx_jFfMiOkGjCiGiCmMiDhNiDeFiDfIiNmAjFfHiCmGiInJiCmIiCoJiPoKiNiHiCmNiBeBiDhNiDeFiDfIiInKjDkOiDeDiDhIiDjDiDgHjEkNjAlGiBeC_xHqqkZx_
	if (m_ptMouse != ptMouse)
	{
//		TRACE(_T("CFCPursuerText::OnMouseMove\n"));
		m_ptMouse = ptMouse;
		OnEvent(EVENT_MOUSE);
	}
} // CFCPursuerText::OnMouseMove.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::OnMouseButton
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhNiDeFiDfIiCmMiInKjDkOiCoCiDhNiDeFiDfIiDhLiDfOiDjDiCmMiPpDjBnEjFmPiNfIiCpAjCmKjCgNiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::OnMouseButton ()
{
	OnEvent(EVENT_MOUSE);
} // CFCPursuerText::OnMouseButton.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::OnKeyboard
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDeMiBfLiCmMiPpDjBnEjFmPiNfIiCpAjCmKjCgNiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::OnKeyboard ()
{
//	TRACE(_T("CFCPursuerText::OnKeyboard\n"));
	int iEvent = EVENT_NONE;		// _xZkqqHx_iDeDiDhIiDjDiDgHjGlDiClFiBeC_xHqqkZx_
	// _xZkqqHx_iCkCiClIiCoKiCkJiCmMiDeMiBfLiCkKiJjPiClDiCoKiClN_xHqqkZx_/_xZkqqHx_jHkDiClDiCoKiClNiCmGiCkLiCmJiDeDiDhIiDjDiDgHjEkNjAlGiBeC_xHqqkZx_
	// _xZkqqHx_iKpJiCmJiDeMiBfLiCkKiJjPiClDiCoKiCmEiCkCiCoJiCmGiCkLiCmJjCmHiJmBiCmFiJjPiClDiCoKiClNiPoKiNiHiCmNjEkNjAlGiClFiCmIiCkCiBeC_xHqqkZx_
	if (m_bIsAnyKeyOn != myIsAnyKeyOn())
	//----- _xZkqqHx_iCkCiClIiCoKiCkJiCmMiDeMiBfLiCkK_xHqqkZx_ON/OFF_xZkqqHx_iCmJiCmIiCmBiClNiPoKiNiH_xHqqkZx_ -----
	{
		m_bIsAnyKeyOn = !m_bIsAnyKeyOn;
		iEvent = EVENT_ANY_KEY;
	}

	// _xZkqqHx_iDfGiDhEiDgHiDeMiBfLiCmMiPoKiNiHiCmMiCnNiBeB_xHqqkZx_ON/OFF _xZkqqHx_iCmFiDeDiDhIiDjDiDgHjEkNjAlGiBeC_xHqqkZx_
	if (m_bIsShift != myIsShiftKey())
	{
		m_bIsShift = !m_bIsShift;
		iEvent = EVENT_SHIFT_KEY;
	}

	// _xZkqqHx_iDfGiDhEiDgHiDeMiBfLiCmMiDeDiDhIiDjDiDgHiCpAjHeEjAoGiClFiCmEjEkNiNhDiClHiCoJiBeCiDfGiDhEiDgHiDeMiBfLiDeDiDhIiDjDiDgHiCkK_xHqqkZx_
	// _xZkqqHx_jGlDiCkCiPoKiNiHiCmMiCnNiBeB_xHqqkZx_ANY_xZkqqHx_iDeMiBfLiDeDiDhIiDjDiDgHiCpAjEkNjAlGiBeC_xHqqkZx_
	if (iEvent != EVENT_NONE)
		OnEvent(iEvent);
} // CFCPursuerText::OnKeyboard.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::OnScroll
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfIiDeOiDiNiBfLiDiLiCpAjCmKjCgNiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::OnScroll ()
{
	// _xZkqqHx_iDhNiDeFiDfIiDeDiDhIiDjDiDgHiCmFjBoDjHhAiBeC_xHqqkZx_
	OnEvent(EVENT_MOUSE);
} // CFCPursuerText::OnScroll.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::OnActivate
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iKiIjAkLiJlLiCpAjCmKjCgNiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::OnActivate ()
{
//	TRACE(_T("CFCPursuerText::OnActivate\n"));
	OnEvent(EVENT_ACTIVATE);
} // CFCPursuerText::OnActivate.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::OnDeactivate
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFhDiKiIjAkLiJlLiCpAjCmKjCgNiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::OnDeactivate ()
{
//	TRACE(_T("CFCPursuerText::OnDeactivate\n"));
	OnEvent(EVENT_DEACTIVATE);
} // CFCPursuerText::OnDeactivate.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::OnShow
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFfMiOkGiJlLiCpAjCmKjCgNiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::OnShow ()
{
//	TRACE(_T("CFCPursuerText::OnShow\n"));
	OnEvent(EVENT_SHOW);
} // CFCPursuerText::OnShow.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::OnHide
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jEpBjFfMiOkGiJlLiCpAjCmKjCgNiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::OnHide ()
{
//	TRACE(_T("CFCPursuerText::OnHide\n"));
	OnEvent(EVENT_HIDE);
} // CFCPursuerText::OnHide.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::IsActive
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jCmHjAnFiDhBiDjDiDgHiCkKiKiIjAkLiPpDjBnEiCkJiCmHiCkEiCkJjClCiCnHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iKiIjAkLiPpDjBnEiCmFiCkAiCoJiPoKiNiHiCmN_xHqqkZx_TRUE_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
BOOL CFCPursuerText::IsActive () const
{
	return (m_iCurState != STATE_WAIT_ACTIVATE);
} // CFCPursuerText::IsActive.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::GetHintText
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jAnNjCoIiClDiCoKiCmEiCkCiCoJiDhBiDjDiDgHiDgFiDeMiDfIiDgHiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	wstrText	:_xZkqqHx_iDgFiDeMiDfIiDgHiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.07 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::GetHintText (WString& wstrText) const
{
	wstrText = m_wstrCurMessage;
} // CFCPursuerText::GetHintText.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::OnEvent
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDeDiDhIiDjDiDgHiCkJiCoHiOmAiNhDiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	iEvent	:_xZkqqHx_iDeDiDhIiDjDiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.05.17 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::OnEvent (int iEvent)
{
	for (;;)
	{
		// _xZkqqHx_iPpDjBnEiCmMjBeKiInKiCpAiMjPiNpFiBeC_xHqqkZx_
		int iNewState = TransFDA(m_iCurState, iEvent);
		// _xZkqqHx_jBeKiInKiClFiCmIiCkCiPoKiNiHiCmNiPeJjHlJiBeC_xHqqkZx_
		if (iNewState == STATE_NONE) break;
		// _xZkqqHx_jBeKiInKiMoDiCmMiPpDjBnEiCpAjAnNjCoIiBeC_xHqqkZx_
		m_iCurState = iNewState;
		// _xZkqqHx_iPpDjBnEiCmJiJjOiClGiClNiPiIjHjNiBeC_xHqqkZx_
		StateFDA(m_iCurState);
		// _xZkqqHx_iDeDiDhIiDjDiDgHiCmJjGlDiClFiCpAjAnNjCoIiBeC_xHqqkZx_
		iEvent = EVENT_NONE;
	}
} // CFCPursuerText::OnEvent.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::TransFDA
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iMiIjCoIjAkLjHeMiMmAiDeJiBfLiDgHiDhNiDgHiDjDiCmMjBeKiInKiCpAjFnEiClHiBeC_xHqqkZx_ToolArcEdit.mdrw_xZkqqHx_iCpAiOfBiPmGiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	iState	:_xZkqqHx_iMlLiNnNiCmMiPpDjBnEiCpAiOhHjCoIiBeC_xHqqkZx_
 *			iEvent	:_xZkqqHx_iDeDiDhIiDjDiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_jBeKiInKiMoDiCmMiPpDjBnEiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	<mdrwpos file="D:\src\DynamicDraw\Mainframe.mdrw" sheet="0" cposx="112" cposy="175"/> *
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.05.17 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
int CFCPursuerText::TransFDA (int iState, int iEvent)
{
	// _xZkqqHx_iInKiNhDjAoGiPpDjBnEiBeC_xHqqkZx_
	int iNextState = STATE_NONE;	// _xZkqqHx_iPpDjBnEjGlDiClFiBeC_xHqqkZx_

	switch (iEvent)
	{
	case EVENT_DEACTIVATE:				// _xZkqqHx_jFhDiKiIjAkLiJlLiDeDiDhIiDjDiDgHiBeC_xHqqkZx_
		iNextState = STATE_HIDE_3;	// _xZkqqHx_jEpBjFfMiOkGiPiIjHjNiBeC_xHqqkZx_
		break;
	case EVENT_SHOW:					// _xZkqqHx_jFfMiOkGiJlLiDeDiDhIiDjDiDgHiBeC_xHqqkZx_
		if (!m_wstrNewMessage.IsEmpty())
			iNextState = STATE_SHOW_2;		// _xZkqqHx_jFfMiOkGiBeC_xHqqkZx_
		break;
	default:
		// FDA_xZkqqHx_iCmMiMlLiNnNiCmMiPpDjBnEiBeC_xHqqkZx_
		switch (iState)
		{
		case STATE_IDLE:				// _xZkqqHx_jBnCiLeAiBeC_xHqqkZx_
			switch (iEvent)
			{
			case EVENT_MOUSE:					// _xZkqqHx_iDhNiDeFiDfIiDeDiDhIiDjDiDgHiBeC_xHqqkZx_
			case EVENT_ANY_KEY:				// ANY_xZkqqHx_iDeMiBfLiDeDiDhIiDjDiDgHiBeC_xHqqkZx_
			case EVENT_SHIFT_KEY:				// SHIFT_xZkqqHx_iDeMiBfLiDeDiDhIiDjDiDgHiBeC_xHqqkZx_
				iNextState = STATE_IDLE;		// _xZkqqHx_jBnCiLeAiBeC_xHqqkZx_
				break;
			case EVENT_ON_TIMER:				// _xZkqqHx_iDfOiDeDiDhNiBfLiBeC_xHqqkZx_
			  {
//----- 05.07.22 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//				BOOL bLButton = (GetAsyncKeyState(VK_LBUTTON) < 0);
//				BOOL bRButton = (GetAsyncKeyState(VK_RBUTTON) < 0);
//				BOOL bMButton = (GetAsyncKeyState(VK_MBUTTON) < 0);
//				if (!bLButton && !bRButton && !bMButton)
//					iNextState = STATE_BEFORE_SHOW;	// _xZkqqHx_jFfMiOkGjBePiPiIjHjNiBeC_xHqqkZx_
//----- 05.07.22 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
				BOOL bLButton = (GetAsyncKeyState(VK_LBUTTON) < 0);
				BOOL bRButton = (GetAsyncKeyState(VK_RBUTTON) < 0);
				BOOL bMButton = (GetAsyncKeyState(VK_MBUTTON) < 0);
				// _xZkqqHx_iClBiClBiCmFiBeB_xHqqkZx_ !m_bIsAnyKeyOn _xZkqqHx_iCoAiPpAiMiPiOhHjCoIiClFiCmEiCkCiClNiCkKiBeB_xHqqkZx_
				// _xZkqqHx_iDhEiDeAiDjDiDeOiDfGiDiHiDjDiDgPiBfLiCmMiDhMiDgCiDhGiDeBiDgCiDhGiCmF_xHqqkZx_ALT_xZkqqHx_iCoC_xHqqkZx_SHIFT_xZkqqHx_iCpA_xHqqkZx_
				// _xZkqqHx_iJjPiClFiCmEiCkCiCoJiCmGiCkLiCmJiPgPiCmEiCnJiClFiCkCiCmMiCmFiBeBiNoNiPjMiClFiClNiBeC_xHqqkZx_

// 06.03.09 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//				if (!bLButton && !bRButton && !bMButton && !m_bIsAnyKeyOn)
				if (!bLButton && !bRButton && !bMButton)
					iNextState = STATE_BEFORE_SHOW;	// _xZkqqHx_jFfMiOkGjBePiPiIjHjNiBeC_xHqqkZx_
//----- 05.07.22 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
				break;
			  }
			}
			break;
		case STATE_BEFORE_SHOW:		// _xZkqqHx_jFfMiOkGjBePiPiIjHjNiBeC_xHqqkZx_
			if (!m_wstrNewMessage.IsEmpty())
				iNextState = STATE_SHOW;		// _xZkqqHx_jFfMiOkGiBeC_xHqqkZx_
			else
				iNextState = STATE_IDLE;		// _xZkqqHx_jBnCiLeAiBeC_xHqqkZx_
			break;
		case STATE_SHOW:			// _xZkqqHx_jFfMiOkGiBeC_xHqqkZx_
//			TRACE(_T("CFCPursuerText::STATE_SHOW\n"));
			switch (iEvent)
			{
			case EVENT_MOUSE:					// _xZkqqHx_iDhNiDeFiDfIiDeDiDhIiDjDiDgHiBeC_xHqqkZx_
				if (m_bIsShift && GetIsThereLink())
					iNextState = STATE_CHECK_HIT_LINK;	// _xZkqqHx_iDiKiDjDiDeOiDhBiDgCiDgHiDgAiDeGiDgCiDeOiPiIjHjNiBeC_xHqqkZx_
				else
					iNextState = STATE_HIDE_2;	// _xZkqqHx_jEpBjFfMiOkGiPiIjHjNiBeC_xHqqkZx_
				break;
			case EVENT_ANY_KEY:						// ANY_xZkqqHx_iDeMiBfLiDeDiDhIiDjDiDgHiBeC_xHqqkZx_
				iNextState = STATE_HIDE_2;	// _xZkqqHx_jEpBjFfMiOkGiPiIjHjNiBeC_xHqqkZx_
				break;
			case EVENT_SHIFT_KEY:						// SHIFT_xZkqqHx_iDeMiBfLiDeDiDhIiDjDiDgHiBeC_xHqqkZx_
				if (m_bIsShift && GetIsThereLink())
				{
					iNextState = STATE_SHIFT_ON;	// _xZkqqHx_iDfGiDhEiDgH_xHqqkZx_ON_xZkqqHx_iPiIjHjNiBeC_xHqqkZx_
				} else
				{
					if (m_lCurHitLinkIndex != -1)
						iNextState = STATE_DO_LINK;		// _xZkqqHx_iDiKiDjDiDeOiPiIjHjNiBeC_xHqqkZx_
					else
						iNextState = STATE_HIDE;		// _xZkqqHx_jEpBjFfMiOkGiPiIjHjNiBeC_xHqqkZx_
				}
				break;
			case EVENT_ON_TIMER:				// _xZkqqHx_iDfOiDeDiDhNiBfLiBeC_xHqqkZx_
				iNextState = STATE_HIDE;	// _xZkqqHx_jEpBjFfMiOkGiPiIjHjNiBeC_xHqqkZx_
				break;
			}
			break;
		case STATE_SHOW_2:			// _xZkqqHx_jFfMiOkGiBeC_xHqqkZx_
//			TRACE(_T("CFCPursuerText::STATE_SHOW_2\n"));
			switch (iEvent)
			{
			case EVENT_SHOW:					// _xZkqqHx_jFfMiOkGiJlLiDeDiDhIiDjDiDgHiBeC_xHqqkZx_
				if (!m_wstrNewMessage.IsEmpty())
					iNextState = STATE_MOVE;	// _xZkqqHx_iInKjDkOiPiIjHjNiBeC_xHqqkZx_
				break;
			case EVENT_HIDE:					// _xZkqqHx_jEpBjFfMiOkGiJlLiDeDiDhIiDjDiDgHiBeC_xHqqkZx_
				iNextState = STATE_HIDE_4;		// _xZkqqHx_jEpBjFfMiOkGiPiIjHjNiBeC_xHqqkZx_
				break;
			}
			break;
		case STATE_HIDE:		// _xZkqqHx_jEpBjFfMiOkGiPiIjHjNiBeC_xHqqkZx_
//			TRACE(_T("CFCPursuerText::STATE_HIDE\n"));
			switch (iEvent)
			{
			case EVENT_MOUSE:					// _xZkqqHx_iDhNiDeFiDfIiDeDiDhIiDjDiDgHiBeC_xHqqkZx_
			case EVENT_ANY_KEY:				// ANY_xZkqqHx_iDeMiBfLiDeDiDhIiDjDiDgHiBeC_xHqqkZx_
			case EVENT_SHIFT_KEY:				// SHIFT_xZkqqHx_iDeMiBfLiDeDiDhIiDjDiDgHiBeC_xHqqkZx_
				iNextState = STATE_IDLE;		// _xZkqqHx_jBnCiLeAiBeC_xHqqkZx_
				break;
			}
			break;

//----- 05.07.22 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//		case STATE_HIDE_1:		// _xZkqqHx_jEpBjFfMiOkGiPiIjHjNiBeC_xHqqkZx_
//			iNextState = STATE_IDLE;	// _xZkqqHx_jBnCiLeAiBeC_xHqqkZx_
//			break;
//----- 05.07.22 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

		case STATE_HIDE_2:		// _xZkqqHx_jEpBjFfMiOkGiPiIjHjNiBeC_xHqqkZx_
//			TRACE(_T("CFCPursuerText::STATE_HIDE_2\n"));
			iNextState = STATE_IDLE;		// _xZkqqHx_jBnCiLeAiBeC_xHqqkZx_
			break;
		case STATE_HIDE_3:		// _xZkqqHx_jEpBjFfMiOkGiPiIjHjNiBeC_xHqqkZx_
//			TRACE(_T("CFCPursuerText::STATE_HIDE_3\n"));
			iNextState = STATE_WAIT_ACTIVATE;	// _xZkqqHx_iKiIjAkLiJlLjBnCiClPiPiIjHjNiBeC_xHqqkZx_
			break;
		case STATE_HIDE_4:		// _xZkqqHx_jEpBjFfMiOkGiPiIjHjNiBeC_xHqqkZx_
//			TRACE(_T("CFCPursuerText::STATE_HIDE_4\n"));
			iNextState = STATE_IDLE;		// _xZkqqHx_jBnCiLeAiBeC_xHqqkZx_
			break;

//----- 05.07.22 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//		case STATE_AFTER_HIDE:		// _xZkqqHx_jEpBjFfMiOkGiMoDiPiIjHjNiBeC_xHqqkZx_
//			switch (iEvent)
//			{
//			case EVENT_MOUSE:					// _xZkqqHx_iDhNiDeFiDfIiDeDiDhIiDjDiDgHiBeC_xHqqkZx_
//			case EVENT_ANY_KEY:				// ANY_xZkqqHx_iDeMiBfLiDeDiDhIiDjDiDgHiBeC_xHqqkZx_
//			case EVENT_SHIFT_KEY:				// SHIFT_xZkqqHx_iDeMiBfLiDeDiDhIiDjDiDgHiBeC_xHqqkZx_
//				iNextState = STATE_IDLE;		// _xZkqqHx_jBnCiLeAiBeC_xHqqkZx_
//				break;
//			}
//			break;
//----- 05.07.22 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

		case STATE_WAIT_ACTIVATE:		// _xZkqqHx_iKiIjAkLiJlLjBnCiClPiPiIjHjNiBeC_xHqqkZx_
			switch (iEvent)
			{
			case EVENT_ACTIVATE:			// _xZkqqHx_iKiIjAkLiJlLiDeDiDhIiDjDiDgHiBeC_xHqqkZx_
				iNextState = STATE_IDLE;	// _xZkqqHx_jBnCiLeAiBeC_xHqqkZx_
				break;
			}
			break;
		case STATE_MOVE:				// _xZkqqHx_iInKjDkOiPiIjHjNiBeC_xHqqkZx_
			iNextState = STATE_SHOW_2;	// _xZkqqHx_jFfMiOkGiBeC_xHqqkZx_
			break;
		case STATE_CHECK_HIT_LINK:		// _xZkqqHx_iDiKiDjDiDeOiDhBiDgCiDgHiDgAiDeGiDgCiDeOiPiIjHjNiBeC_xHqqkZx_
			iNextState = STATE_SHOW;	// _xZkqqHx_jFfMiOkGiBeC_xHqqkZx_
			break;
		case STATE_DO_LINK:				// _xZkqqHx_iDiKiDjDiDeOiPiIjHjNiBeC_xHqqkZx_
			iNextState = STATE_HIDE_2;	// _xZkqqHx_jEpBjFfMiOkGiPiIjHjNiBeC_xHqqkZx_
			break;
		case STATE_SHIFT_ON:			// _xZkqqHx_iDfGiDhEiDgHiDeJiDjDiPiIjHjNiBeC_xHqqkZx_
			iNextState = STATE_SHOW;	// _xZkqqHx_jFfMiOkGiBeC_xHqqkZx_
			break;
		}
	}
	return iNextState;
} // CFCPursuerText::TransFDA.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::StateFDA
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iPpDjBnEiCmJiJjOiClGiClNiPiIjHjNiCpAiOmAiNhDiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	iState	:_xZkqqHx_iMlLiNnNiCmMiPpDjBnEiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	<mdrwpos file="D:\src\DynamicDraw\Mainframe.mdrw" sheet="0" cposx="112" cposy="175"/> *
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.05.17 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::StateFDA (int iState)
{
//	TRACE(_T("CFCPursuerText::StateFDA\n"));
	// FDA_xZkqqHx_iCmMiOjPiCmMiPpDjBnEiBeC_xHqqkZx_
	switch (iState)
	{
	case STATE_NONE:			// _xZkqqHx_iPpDjBnEjGlDiClFiBeC_xHqqkZx_
		break;
	case STATE_IDLE:			// _xZkqqHx_jBnCiLeAiBeC_xHqqkZx_
		StateIdle();
		break;
	case STATE_BEFORE_SHOW:		// _xZkqqHx_jFfMiOkGjBePiPiIjHjNiBeC_xHqqkZx_
		StateBeforeShow();
		break;
	case STATE_SHOW:			// _xZkqqHx_jFfMiOkGiBeC_xHqqkZx_
	case STATE_SHOW_2:			// _xZkqqHx_jFfMiOkGiBeC_xHqqkZx_
		StateShow();
		break;
	case STATE_HIDE:			// _xZkqqHx_jEpBjFfMiOkGiPiIjHjNiBeC_xHqqkZx_
// 05.07.22 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	case STATE_HIDE_1:			// _xZkqqHx_jEpBjFfMiOkGiPiIjHjNiBeC_xHqqkZx_
	case STATE_HIDE_2:			// _xZkqqHx_jEpBjFfMiOkGiPiIjHjNiBeC_xHqqkZx_
	case STATE_HIDE_3:			// _xZkqqHx_jEpBjFfMiOkGiPiIjHjNiBeC_xHqqkZx_
	case STATE_HIDE_4:			// _xZkqqHx_jEpBjFfMiOkGiPiIjHjNiBeC_xHqqkZx_
		StateHide();
		break;
// 05.07.22 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	case STATE_AFTER_HIDE:		// _xZkqqHx_jEpBjFfMiOkGiMoDiPiIjHjNiBeC_xHqqkZx_
	case STATE_WAIT_ACTIVATE:	// _xZkqqHx_iKiIjAkLiJlLjBnCiClPiPiIjHjNiBeC_xHqqkZx_
		// _xZkqqHx_iPiIjHjNjGlDiClFiBeC_xHqqkZx_
		break;
	case STATE_MOVE:			// _xZkqqHx_iInKjDkOiPiIjHjNiBeC_xHqqkZx_
		StateMove();
		break;
	case STATE_CHECK_HIT_LINK:	// _xZkqqHx_iDiKiDjDiDeOiDhBiDgCiDgHiDgAiDeGiDgCiDeOiPiIjHjNiBeC_xHqqkZx_
		StateCheckHitLink();
		break;
	case STATE_DO_LINK:			// _xZkqqHx_iDiKiDjDiDeOiPiIjHjNiBeC_xHqqkZx_
		StateDoLink();
		break;
	case STATE_SHIFT_ON:			// _xZkqqHx_iDfGiDhEiDgHiDeJiDjDiPiIjHjNiBeC_xHqqkZx_
		StateShiftOn();
		break;
	}
} // CFCPursuerText::StateFDA.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::StateIdle
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jBnCiLeAiPpDjBnEiCmMiPiIjHjNiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	<mdrwpos file="C:\src\DynamicDraw\Mainframe.mdrw" sheet="0" cposx="112" cposy="175"/>
 *			<mdrwpos file="C:\src\DynamicDraw\PursuerText.mdrw" sheet="0" cposx="116" cposy="120"/>
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.05.17 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::StateIdle ()
{
//	TRACE(_T("CFCPursuerText::StateIdle\n"));
	// _xZkqqHx_jCmHjAnFiDgFiDeMiDfIiDgHiDhBiDjDiDgHiDeFiDeCiDjDiDgIiDeFjFfMiOkGiCnMiCmFiCmMjBnCiClPiOjOiKnEiBeC_xHqqkZx_
	m_mdmtEventTime = FD_TIME_SHOW_PURSUER_TEXT;
	m_mdmtTimeer = 0;
} // CFCPursuerText::StateIdle.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::StateBeforeShow
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFfMiOkGjBePiPiIjHjNiPpDjBnEiCmMiPiIjHjNiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	<mdrwpos file="D:\src\DynamicDraw\Mainframe.mdrw" sheet="0" cposx="112" cposy="175"/> *
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.05.17 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::StateBeforeShow ()
{
	m_wstrCurMessage.Empty();	// _xZkqqHx_iDfOiBfLiDfBiDgCiDgHiDeJiDhFiDfHiDeGiDeOiDgHiCmMiClNiCnPiCmMiDiBiDgCiDfKiBfLiDfHiBeC_xHqqkZx_
	m_vSplitCurMessage.clear();	// _xZkqqHx_jFfMiOkGiDiBiDgCiDfKiBfLiDfHiCmMjFkKiKiEiDgFiDeMiDfIiDgHiBeC_xHqqkZx_
	m_lCurHitLinkIndex = -1;	// _xZkqqHx_iDhBiDgCiDgHjCiGiCmMiDiKiDjDiDeOiDeDiDjDiDgGiDgCiDeOiDfIiBeC_xHqqkZx_

	// _xZkqqHx_jFfMiOkGiClHiCnHiCkLiDgGiBfLiDfOiCpAiOoGjDlOiBeC_xHqqkZx_

	//----- _xZkqqHx_iDeFiDeCiDjDiDgIiDeFiKePiCnGiCmMiDhNiDeFiDfIiInKjDkOiCpAiDgAiDeGiDgCiDeO_xHqqkZx_ -----
	// _xZkqqHx_iDhNiDeFiDfIiDeKiBfLiDfMiDiLiCmMiMlLiNnNiCmMiImKjChFiCpAiBeBiDfIiDeOiDiKiBfLiDjDiNmAjFfHiCmFiOoGjDlOiBeC_xHqqkZx_
	CPoint ptMouse;
	(void)::GetCursorPos(&ptMouse);
	// _xZkqqHx_iDhEiDiMiBfLiDiAiCmMiOhBiDeFiDeCiDjDiDgIiDeFiCmFiBeBiDhNiDeFiDfIiImKjChFiCmMiDeFiDeCiDjDiDgIiDeFiCpAiOoGjDlOiBeC_xHqqkZx_
	// _xZkqqHx_jEpBjFfMiOkGiBeBjDkHjGlOiCmIiDeFiDeCiDjDiDgIiDeFiCmNjGlDiOiLiClHiCoJiBeC_xHqqkZx_
//----- 05.10.08 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
////	HWND hwndPoint = ::ChildWindowFromPointEx(FFGetMainWnd()->GetSafeHwnd(), ptMouse, CWP_SKIPINVISIBLE | CWP_SKIPTRANSPARENT);
//	HWND hwndPoint = ::WindowFromPoint(ptMouse);
//----- 05.10.08 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	HWND hwndPoint = ::FFWindowFromPoint(::GetDesktopWindow(), ptMouse, CWP_SKIPINVISIBLE | CWP_SKIPTRANSPARENT);
//	HWND hwndPoint = ::ChildWindowFromPointEx(::GetDesktopWindow(), ptMouse, CWP_SKIPINVISIBLE | CWP_SKIPTRANSPARENT);
//	HWND hwndPoint = ::ChildWindowFromPoint(::GetDesktopWindow(), ptMouse);
//	HWND hwndPoint = ::WindowFromPoint(ptMouse);
//----- 05.10.08 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
//	TRACE(_T("CFCPursuerText::StateBeforeShow %x\n"), hwndPoint);

//----- 05.07.08 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	// _xZkqqHx_jBmOiPnLiDeFiDeCiDjDiDgIiDeFiCkKjBlGiNnNiClHiCoJiPoKiNiHiCmNiBeBiPoOjFpBiOoGjDlOiDiBiDgCiDfKiBfLiDfHiCpAjBjHjFhEiBeC_xHqqkZx_
//	if (hwndPoint != NULL &&
//		::IsChild(FFGetMainWnd()->GetSafeHwnd(), hwndPoint))
//	{
//		TRACE(_T("CFCPursuerText::StateBeforeShow SendMessage\n"));
//		::SendMessage(hwndPoint, WM_USER_PURSUER_TEXT_NEED_INFO, 0, 0);
//	}
//----- 05.07.08 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	// _xZkqqHx_jBmOiPnLiDeFiDeCiDjDiDgIiDeFiCkKjBlGiNnNiClHiCoJiPoKiNiHiCmNiBeBiPoOjFpBiOoGjDlOiDiBiDgCiDfKiBfLiDfHiCpAjBjHjFhEiBeC_xHqqkZx_
	if (hwndPoint != NULL)
	//----- _xZkqqHx_iDhNiDeFiDfIiImKjChFiCmJiDeFiDeCiDjDiDgIiDeFiCkKjBlGiNnNiClHiCoJiPoKiNiH_xHqqkZx_ -----
	{
		// IsChild _xZkqqHx_iCmFiDeFiDeCiDjDiDgIiDeFiCmMjAgFiOhBiKnGiMfHiCpAjClCiCnHiCmEiCoAiBeBiDgAiDgCiDhGiDfIiDgHiDeBiCkK_xHqqkZx_
		// _xZkqqHx_iDeFiDeCiDjDiDgIiDeFiJlLiClDiCoKiClNiPoKiNiHiCmNjBmOiPnLiCmGiClFiCmEjEeGiOkPiClDiCoKiCmIiCkCiBeC_xHqqkZx_
		// _xZkqqHx_iCoGiCmBiCmEiBeBjDkPiClGiDfIiDiMiDgCiDgIiCmJjBkOiClHiCoJiCkJjClCiCnHiCoJiBeC_xHqqkZx_
		DWORD dwThradId = GetWindowThreadProcessId(hwndPoint, NULL);
		if (dwThradId == GetCurrentThreadId())
		{
			// _xZkqqHx_iDiBiDgCiDfKiBfLiDfHjBjHjFhEjAoGiDeFiDeCiDjDiDgIiDeFiBeC_xHqqkZx_
			HWND hwndTarget = hwndPoint;
			while (hwndTarget != NULL)
			{
				if (m_stTargetHwnd.find(hwndTarget) != m_stTargetHwnd.end())
				//----- _xZkqqHx_iDfOiBfLiDfBiDgCiDgHiMpDjFoCiCmMiPoKiNiH_xHqqkZx_ -----
				{
					// _xZkqqHx_iDfOiBfLiDfBiDgCiDgHiDeFiDeCiDjDiDgIiDeFiCmJiDiBiDgCiDfKiBfLiDfHiCpAjBjHjFhEiBeC_xHqqkZx_
					LRESULT result = ::SendMessage(hwndTarget, WM_USER_PURSUER_TEXT_NEED_INFO, WPARAM(hwndPoint), 0);
					if (result != 0) break;
				}
				// SendMessage_xZkqqHx_jFnEjCgMiCkKiCePiCmMiPoKiNiHiCmNiBeBjAgFiCmJiDiBiDgCiDfKiBfLiDfHiCpAjBjHjFhEiBeC_xHqqkZx_
				hwndTarget = ::GetParent(hwndTarget);
			}
			if (hwndTarget == NULL && g_pReg->GetIsPopupHint() && g_pReg->GetIsPopupMenuHint())
			//----- _xZkqqHx_iDfOiBfLiDfBiDgCiDgHiDeFiDeCiDjDiDgIiDeFiCkKiDiBiDgCiDfKiBfLiDfHiCpAiOpDiCkPjFhEiCkPiCmIiCkCiPoKiNiH_xHqqkZx_ -----
			{
				// _xZkqqHx_iDhNiDeFiDfIiImKjChFiCmMiDiBiDgKiDiFiBfLiCmMiDfCiDhNiDjDiDgI_xHqqkZx_ID_xZkqqHx_iCpAjAnNjCoIiBeC_xHqqkZx_
				SetTargetInfo(FFPointToMenuId(hwndPoint, ptMouse), hwndPoint);
			}
		}
	}
//----- 05.07.08 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // CFCPursuerText::StateBeforeShow.

//----- 05.08.03 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	myGetUpperLeft
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iOhHjCoIiClDiCoKiClNiDhNiDeFiDfIiImKjChFiCkJiCoHiBeBiDhMiDgCiDhGiDhBiDjDiDgHiCmMjDeLjAnIiCmIiImKjChFiBgJiNlGiPoDiBgK_xHqqkZx_
// *			_xZkqqHx_iCmMiNmAjFfHiCpAiMhGiOfKiClFiCmEjFnEiClHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	ptMouse		:_xZkqqHx_iDhNiDeFiDfIiImKjChFiCpAiOhHjCoIiBeC_xHqqkZx_
// *			szPopHint	:_xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiCmMiDeFiDeCiDjDiDgIiDeFiDfEiDeDiDfJiCpAiOhHjCoIiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiCmMjDeLjAnIiCmIiImKjChFiBgJiNlGiPoDiBgKiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.05.20 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//static CPoint myGetUpperLeft (CPoint ptMouse, CSize szPopHint)
//{
//	// _xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiCmMiLoJiMgAiCpAiBeBiDhNiDeFiDfIiJeFiJlKiCmFiPiJiKpKiJlLiMhGiOfKiBeC_xHqqkZx_
//	CRect rtPopHint;
//	rtPopHint.left = ptMouse.x + FD_PURSUER_TEXT_OFFSET_X;
//	rtPopHint.top = ptMouse.y + FD_PURSUER_TEXT_OFFSET_Y;
//	rtPopHint.right = rtPopHint.left + szPopHint.cx;
//	rtPopHint.bottom = rtPopHint.top + szPopHint.cy;
//	// _xZkqqHx_iDiCiDgKiDfOiBfLiCmJiLoJiMgAiCkKiOpLiCnMiCoJiCoGiCkEjFoCjAlDiBeC_xHqqkZx_
//	rtPopHint += FFJustifyToMonitor(rtPopHint);
//
//	return CPoint(rtPopHint.left, rtPopHint.top);
//} // myGetUpperLeft.
//----- 05.08.03 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::StateShow
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFfMiOkGiPpDjBnEiCmMiPiIjHjNiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	<mdrwpos file="D:\src\DynamicDraw\Mainframe.mdrw" sheet="0" cposx="112" cposy="175"/> *
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.05.17 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::StateShow ()
{
//	TRACE(_T("CFCPursuerText::StateShow %d\n"), m_wstrCurMessage != m_wstrNewMessage);

//----- 05.07.22 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	if (m_lCurHitLinkIndex == -1)
//		m_mdmtEventTime = FD_TIME_HIDE_PURSUER_TEXT;	// _xZkqqHx_jCmHjAnFiDgFiDeMiDfIiDgHiDhBiDjDiDgHiDeFiDeCiDjDiDgIiDeFjEpBjFfMiOkGiCnMiCmFiCmMjBnCiClPiOjOiKnEiBeC_xHqqkZx_
//	else
//		m_mdmtEventTime = FD_TIME_DO_LINK;				// _xZkqqHx_iDiKiDjDiDeOiPiIjHjNiOmAiNhDiCnMiCmFiCmMjBnCiClPiOjOiKnEiBeC_xHqqkZx_
//----- 05.07.22 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	if (m_bIsShift && GetIsThereLink())
		m_mdmtEventTime = FDMILLISECTIME(-1);
	else
		m_mdmtEventTime = FD_TIME_HIDE_PURSUER_TEXT;	// _xZkqqHx_jCmHjAnFiDgFiDeMiDfIiDgHiDhBiDjDiDgHiDeFiDeCiDjDiDgIiDeFjEpBjFfMiOkGiCnMiCmFiCmMjBnCiClPiOjOiKnEiBeC_xHqqkZx_
//----- 05.07.22 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
	m_mdmtTimeer = 0;

	if (m_wstrCurMessage != m_wstrNewMessage)
	//----- _xZkqqHx_iDhBiDjDiDgHiDeFiDeCiDjDiDgIiDeFiCmMiDfOiBfLiDfBiDgCiDgHiCkKiInJiCmIiCoJiPoKiNiH_xHqqkZx_ -----
	{
		m_wstrCurMessage = m_wstrNewMessage;
		// StateShow _xZkqqHx_iCmFjCgMiCmJjFmPiNfIiCkKiCkAiCmBiClNiCkJjEoEiKhCiClHiCoJiClNiCnPiBeB_xHqqkZx_
		// m_wstrNewMessage_xZkqqHx_iCmNiDiKiDfKiDgCiDgHiClFiCmIiCkCiBeC_xHqqkZx_

		// _xZkqqHx_iDeFiDeCiDjDiDgIiDeFiDfEiDeDiDfJiCpAiMhGiOfKiBeC_xHqqkZx_
		CSize szPursure = CalcSize();
		// _xZkqqHx_iDhNiDeFiDfIiDeKiBfLiDfMiDiLiCmMiMlLiNnNiCmMiImKjChFiCpAiBeBiDfIiDeOiDiKiBfLiDjDiNmAjFfHiCmFiOoGjDlOiBeC_xHqqkZx_
		CPoint pt;
		(void)::GetCursorPos(&pt);
		// _xZkqqHx_iDhNiDeFiDfIiNmAjFfHiCkJiCoHiBeBjDeLjAnIiCmIiNlGiPoDiImKjChFiCpAiMhGiOfKiBeC_xHqqkZx_
		CPoint ptUpperLeft = GetUpperLeft(pt, szPursure);
		// _xZkqqHx_iDeJiDhGiDfGiDiHiDjDiBeC_xHqqkZx_
		DWORD dwFlags = SWP_NOACTIVATE|SWP_NOCOPYBITS|SWP_NOOWNERZORDER|
						SWP_NOSENDCHANGING;
		// _xZkqqHx_iDeFiDeCiDjDiDgIiDeFjEpBjFfMiOkGiCmMiPoKiNiHiCmNjFfMiOkGiDeJiDhGiDfGiDiHiDjDiBeC_xHqqkZx_
		if (!IsWindowVisible()) dwFlags |= SWP_SHOWWINDOW;
		// _xZkqqHx_iDhBiDjDiDgHiDeFiDeCiDjDiDgIiDeFiCpAjFfMiOkGiBeCiImKjChFiCpAiInKjDkOiBeCiDiKiDfEiDeDiDfJiBeC_xHqqkZx_
		SetWindowPos(	&wndTopMost,
						ptUpperLeft.x,
						ptUpperLeft.y,
						szPursure.cx,
						szPursure.cy,
						dwFlags);
		// _xZkqqHx_iDeFiDeCiDjDiDgIiDeFiCmMiDfEiDeDiDfJiBeFiImKjChFiCmGiCoAiCmJjFmPiJlLiCmIiCkCiPoKiNiHiBeB_xHqqkZx_SetWindowPos_xZkqqHx_iCmN_xHqqkZx_
		// _xZkqqHx_iNmEjFgAiJoGiCpAiCkJiCkPiCmIiCkCiBeC_xHqqkZx_
		// _xZkqqHx_iClLiCmMiClNiCnPiBeBiClBiClBiCmFiCoAiCkEiIoKjDhIiNmEjFgAiJoGiCpAiLkNjAkHiClHiCoJiBeC_xHqqkZx_
		// SetWindowPos _xZkqqHx_iCmF_xHqqkZx_SWP_NOREDRAW _xZkqqHx_iCpAiOhHjCoIiClHiCoJiCmGiBeBiDeFiDeCiDjDiDgIiDeFiInKjDkOiCmM_xHqqkZx_
		// _xZkqqHx_iNmEjFgAiJoGiCkKiCkEiCnMiCkNiCkCiCkJiCmIiCkCiBeC_xHqqkZx_
		Invalidate();
//----- 05.07.20 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	} else
//	//----- _xZkqqHx_iDhBiDjDiDgHiDeFiDeCiDjDiDgIiDeFiPoOjFpBiCmJ_xHqqkZx_ _xZkqqHx_jFmPiNfIiCkKiCmIiCkCiPoKiNiH_xHqqkZx_ -----
//	{
//		CPoint pt;
//		// _xZkqqHx_iDhNiDeFiDfIiDeKiBfLiDfMiDiLiCmMiMlLiNnNiCmMiImKjChFiCpAiBeBiDfIiDeOiDiKiBfLiDjDiNmAjFfHiCmFiOoGjDlOiBeC_xHqqkZx_
//		(void)::GetCursorPos(&pt);
//		CRect rtPursuer;
//		GetWindowRect(rtPursuer);
//		if (rtPursuer.PtInRect(pt))
//		//----- _xZkqqHx_jCmHjAnFiDgFiDeMiDfIiDgHiDhBiDjDiDgHjCiGiCmJiDhNiDeFiDfIiCkKjDpMiCmBiClNiPoKiNiH_xHqqkZx_ -----
//		{
//			// _xZkqqHx_iDhNiDeFiDfIiNmAjFfHiCkJiCoHiBeBjDeLjAnIiCmIiNlGiPoDiImKjChFiCpAiMhGiOfKiBeC_xHqqkZx_
//			CPoint ptUpperLeft = myGetUpperLeft(pt, CSize(rtPursuer.Width(), rtPursuer.Height()));
//			// _xZkqqHx_iDeFiDeCiDjDiDgIiDeFiCpAiInKjDkOiBeC_xHqqkZx_
//			SetWindowPos(	&wndTopMost,
//							ptUpperLeft.x,
//							ptUpperLeft.y,
//							0, 0,
//							SWP_NOACTIVATE|SWP_NOCOPYBITS|SWP_NOOWNERZORDER|
//							SWP_NOSENDCHANGING|SWP_NOSIZE);
//		}
//----- 05.07.20 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
	}
} // CFCPursuerText::StateShow.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::StateHide
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jEpBjFfMiOkGiPiIjHjNiPpDjBnEiCmMiPiIjHjNiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	<mdrwpos file="D:\src\DynamicDraw\Mainframe.mdrw" sheet="0" cposx="112" cposy="175"/> *
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.05.17 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::StateHide ()
{
//	TRACE(_T("CFCPursuerText::StateHide\n"));
// 05.08.04 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	m_dwCommandId = DWORD(-1);	// _xZkqqHx_iDhBiDgCiDgHjCiGiCmMiDfCiDhNiDjDiDgIiBeC_xHqqkZx_
	m_hwndMenu = NULL;			// _xZkqqHx_iDhBiDgCiDgHjCiGiCmMiDiBiDgKiDiFiBfLiBeC_xHqqkZx_
	m_wstrNewMessage.Empty();	// _xZkqqHx_jAfGiClFiCkNjAnNjCoIiClDiCoKiCoJiDfOiBfLiDfBiDgCiDgHiDeJiDhFiDfHiDeGiDeOiDgHiCmMiClNiCnPiCmMiDiBiDgCiDfKiBfLiDfHiBeC_xHqqkZx_
	m_wstrCurMessage.Empty();	// _xZkqqHx_iDfOiBfLiDfBiDgCiDgHiDeJiDhFiDfHiDeGiDeOiDgHiCmMiClNiCnPiCmMiDiBiDgCiDfKiBfLiDfHiBeC_xHqqkZx_
	m_vSplitCurMessage.clear();	// _xZkqqHx_jFfMiOkGiDiBiDgCiDfKiBfLiDfHiCmMjFkKiKiEiDgFiDeMiDfIiDgHiBeC_xHqqkZx_
	m_lCurHitLinkIndex = -1;	// _xZkqqHx_iDhBiDgCiDgHjCiGiCmMiDiKiDjDiDeOiDeDiDjDiDgGiDgCiDeOiDfIiBeC_xHqqkZx_

	// _xZkqqHx_jCmHjAnFiDgFiDeMiDfIiDgHiDhBiDjDiDgHiDeFiDeCiDjDiDgIiDeFiCpAjEpBjFfMiOkGiCmJiBeC_xHqqkZx_
	if (IsWindowVisible())
		ShowWindow(SW_HIDE);
} // CFCPursuerText::StateHide.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::StateMove
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iInKjDkOiPiIjHjNiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.20 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::StateMove ()
{
	CPoint pt;
	// _xZkqqHx_iDhNiDeFiDfIiDeKiBfLiDfMiDiLiCmMiMlLiNnNiCmMiImKjChFiCpAiBeBiDfIiDeOiDiKiBfLiDjDiNmAjFfHiCmFiOoGjDlOiBeC_xHqqkZx_
	(void)::GetCursorPos(&pt);
	CRect rtPursuer;
	GetWindowRect(rtPursuer);
	if (rtPursuer.PtInRect(pt))
	//----- _xZkqqHx_jCmHjAnFiDgFiDeMiDfIiDgHiDhBiDjDiDgHjCiGiCmJiDhNiDeFiDfIiCkKjDpMiCmBiClNiPoKiNiH_xHqqkZx_ -----
	{
		// _xZkqqHx_iDhNiDeFiDfIiNmAjFfHiCkJiCoHiBeBjDeLjAnIiCmIiNlGiPoDiImKjChFiCpAiMhGiOfKiBeC_xHqqkZx_
		CPoint ptUpperLeft = GetUpperLeft(pt, CSize(rtPursuer.Width(), rtPursuer.Height()));
		// _xZkqqHx_iDeFiDeCiDjDiDgIiDeFiCpAiInKjDkOiBeC_xHqqkZx_
		SetWindowPos(	&wndTopMost,
						ptUpperLeft.x,
						ptUpperLeft.y,
						0, 0,
						SWP_NOACTIVATE|SWP_NOCOPYBITS|SWP_NOOWNERZORDER|
						SWP_NOSENDCHANGING|SWP_NOSIZE);
	}
} // CFCPursuerText::StateMove.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::StateCheckHitLink
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDiKiDjDiDeOiDhBiDgCiDgHiDgAiDeGiDgCiDeOiPiIjHjNiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.20 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::StateCheckHitLink ()
{
	long lNewHitIndex = GetHitMessageIndex();

//	TRACE(_T("CFCPursuerText::StateCheckHitLink %d\n"), lNewHitIndex);

	if (lNewHitIndex != m_lCurHitLinkIndex)
	//----- _xZkqqHx_iDhBiDgCiDgHiClFiClNiDiKiDjDiDeOiCkKiInJiCmIiCoJiPoKiNiH_xHqqkZx_ -----
	{
		// _xZkqqHx_iDeOiDiJiDeDiDeBiDjDiDgHjHmMiIoGiCpAiOoGjDlOiBeC_xHqqkZx_
		CRect rtClient;
		GetClientRect(rtClient);
		// _xZkqqHx_iDgFiDeMiDfIiDgHiOpMiImNiCmMiDhNiBfLiDfHiDjDjFkKiBeBiLoJiMgAiCpAiPkMiClDiCkNiClHiCoJiBeC_xHqqkZx_
		rtClient.DeflateRect(s_pxIconMargin + s_szIconTack.cx + s_pxMargin, s_pxMargin);
		if (m_lCurHitLinkIndex != -1)
		//----- _xZkqqHx_iDhBiDgCiDgHjCiGiCmMiDiKiDjDiDeOiCkKiCkAiCoJiPoKiNiH_xHqqkZx_ -----
		{
			CRect rtText = m_vSplitCurMessage[m_lCurHitLinkIndex].m_rtTextFrame +
							CPoint(rtClient.left, rtClient.top);
			InvalidateRect(rtText);
		}
		if (lNewHitIndex != -1)
		//----- _xZkqqHx_jAfGiClFiCkNiDhBiDgCiDgHiClFiClNiDiKiDjDiDeOiCkKiCkAiCoJiPoKiNiH_xHqqkZx_ -----
		{
			CRect rtText = m_vSplitCurMessage[lNewHitIndex].m_rtTextFrame +
							CPoint(rtClient.left, rtClient.top);
			InvalidateRect(rtText);
		}
		// _xZkqqHx_iDhBiDgCiDgHiDiKiDjDiDeOiDeDiDjDiDgGiDgCiDeOiDfIiCpAjAnNjCoIiBeC_xHqqkZx_
		m_lCurHitLinkIndex = lNewHitIndex;
	}
} // CFCPursuerText::StateCheckHitLink.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::StateDoLink
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDiKiDjDiDeOiPiIjHjNiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.20 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::StateDoLink ()
{
	// _xZkqqHx_iDiBiDgKiDiFiBfLiCpAjFmCiClGiCoJiBgJiDiBiDgKiDiFiBfLiCkKiKeKiCkCiCmEiCkCiCmIiCkCiPoKiNiHiCmFiCoAiOmAiNhDiClFiCmEjBoFiPoEjFhGiCnLiCkCiBgK_xHqqkZx_
	::EndMenu();

	static const wchar_t* WIN_HELP = L"WinHelp ";
	static long WIN_HELP_LEN = wcslen(WIN_HELP);
	if (wcsncmp(m_vSplitCurMessage[m_lCurHitLinkIndex].m_wstrLink.c_str(),
				WIN_HELP, WIN_HELP_LEN) == 0)
	//----- WinHelp _xZkqqHx_iCmMiPoKiNiH_xHqqkZx_ -----
	{
		const wchar_t* wcpHead = m_vSplitCurMessage[m_lCurHitLinkIndex].m_wstrLink.c_str() + WIN_HELP_LEN;
		FFSkipSpace(wcpHead);
		const long lCommandId = wcstol(wcpHead, NULL, 10);
		FFGetApp()->WinHelp(HID_BASE_COMMAND + lCommandId);
	} else
	{
//----- 05.07.23 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//		// ShellExecute_xZkqqHx_iOmAiNhDiBeC_xHqqkZx_
//		g_pDoc->PushBackDocRequest(	ID_DREQ_SHELL_EXECUTE,
//									FCReqBase::FILE_NAME, m_vSplitCurMessage[m_lCurHitLinkIndex].m_wstrLink.c_str(),
//									FCReqBase::NONE);
//		// _xZkqqHx_iPeJjCfLiCpAjBhNjDpMiBeC_xHqqkZx_
//		g_pDoc->PushBackDocRequest(ID_DREQ_END);
//		// Document_xZkqqHx_jHhGiLiBiCpAiPiIjHjNiBeC_xHqqkZx_
//		g_pDoc->ProceedDocRequest(FALSE);
//----- 05.07.23 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
		// _xZkqqHx_iDgIiDeMiDiFiDiBiDjDiDgHjHhGiLiBiClOiCmGiBeBiDgFiDeMiDfIiDgHiDeHiDgGiDeCiDfOjFnCiPfHiOjOiCmNjDkOiNoMiClFiCmIiCkCiBeC_xHqqkZx_
		CString strFile = WStrToTStr(m_vSplitCurMessage[m_lCurHitLinkIndex].m_wstrLink);
		ShellExecute(0, _T("open"), strFile, NULL, NULL, SW_SHOW);
//----- 05.07.23 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
	}
} // CFCPursuerText::StateDoLink.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::StateShiftOn
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfGiDhEiDgHiDeJiDjDiPiIjHjNiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.22 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::StateShiftOn ()
{
	InvalidateRect(CRect(0, 0, s_pxIconMargin + s_szIconTack.cx + 1, s_pxIconMargin + s_szIconTack.cy + 1));
} // CFCPursuerText::StateShiftOn.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::CalcSize
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFfMiOkGiClDiCoKiCoJiDiBiDgCiDfKiBfLiDfHiCkKjBfDiCmEiOpLiCnMiCoJjBoFiCkLiClDiCmMiDeFiDeCiDjDiDgIiDeFiDfEiDeDiDfJiCpA_xHqqkZx_
 *			_xZkqqHx_iMhGiOfKiClFiCmEjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDeFiDeCiDjDiDgIiDeFiDfEiDeDiDfJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.05.16 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
CSize CFCPursuerText::CalcSize ()
{
//----- 06.05.17 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	CDC dc;
//	dc.CreateDC(_T("DISPLAY"), NULL, NULL, NULL);
//----- 06.05.17 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
	// _xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiDhEiDeIiDjDiDgHiCpAiNoMjAkMiBeC_xHqqkZx_
	// _xZkqqHx_iDhGiDiNiDhMiBfLiDfGiDiHiDgJiDiLiDhEiDeIiDjDiDgHiBeC_xHqqkZx_
	LOGFONT lfTextPropo;
	g_pReg->InitRegFont(lfTextPropo, FDFT_POP_HINT);
	// _xZkqqHx_iDhGiDiNiDhMiBfLiDfGiDiHiDgJiDiLiDhEiDeIiDjDiDgHiCkJiCoHiNhDiKnEiCmMiDeNiDiDiDgCiDhGiCpAiOfKiPgPiBeC_xHqqkZx_
	const long pxLineGap = (D2L(labs(lfTextPropo.lfHeight) * s_dLineGap) / 2) * 2;

	FCAtFont fontPropo;
	lfTextPropo.lfWeight = FW_NORMAL;
	FFCreateFontIndirect(*fontPropo.Get(), lfTextPropo);
	FCAtFont fontPropoBold;
	lfTextPropo.lfWeight = FW_BOLD;
	FFCreateFontIndirect(*fontPropoBold.Get(), lfTextPropo);

//----- 06.05.17 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	// _xZkqqHx_iMmFjCoIjFjNiDhEiDeIiDjDiDgHiBeC_xHqqkZx_
	LOGFONT lfTextMono;
	g_pReg->InitRegFont(lfTextMono, FDFT_POP_HINT_MONOSPACE);
	FCAtFont fontMono;
	FFCreateFontIndirect(*fontMono.Get(), lfTextMono);
//----- 06.05.17 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----

//----- 06.05.17 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	// _xZkqqHx_jAfGiClFiCkCiDhEiDeIiDjDiDgHiCpAjAnNjCoIiBeC_xHqqkZx_
//	CFont* pOldFont = dc.SelectObject(&font);
//----- 06.05.17 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
	// _xZkqqHx_jFfMiOkGiDiBiDgCiDfKiBfLiDfHiCkKiOpLiCnMiCoJiDhLiDgCiDeOiDfIiCmMiDfEiDeDiDfJiCpAiMhGiOfKiClHiCoJiBeC_xHqqkZx_
//----- 06.05.17 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	CSize szBox = myCalcTextBox(m_vSplitCurMessage,	// _xZkqqHx_jFkKiKiEiClDiCoKiClNiDiBiDgCiDfKiBfLiDfHiCpAiOpDiCkPiOoGiCoJiBeC_xHqqkZx_
//								&dc,
//								m_wstrCurMessage,	// _xZkqqHx_jFfMiOkGiClDiCoKiCoJiDiBiDgCiDfKiBfLiDfHiBeC_xHqqkZx_
//								m_pxMonoCharWidth,		// _xZkqqHx_jElMiKhAiCmMjFlGiOjKjFjNiCpAiOhHjCoIiBeC_xHqqkZx_
//								m_pxMonoCharHeight,		// _xZkqqHx_jFlGiOjKiNiCiCpAiOhHjCoIiBeC_xHqqkZx_
//								pxLineGap,			// _xZkqqHx_iDgFiDeMiDfIiDgHiNhDiKnEiCmMiDeNiDiDiDgCiDhGiBeC_xHqqkZx_
//								CP_ACP);
//----- 06.05.17 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	CSize szBox = myCalcTextBox(m_vSplitCurMessage,	// _xZkqqHx_jFkKiKiEiClDiCoKiClNiDiBiDgCiDfKiBfLiDfHiCpAiOpDiCkPiOoGiCoJiBeC_xHqqkZx_
								fontPropo,			// _xZkqqHx_iDhGiDiNiDhMiBfLiDfGiDiHiDgJiDiLiDhEiDeIiDjDiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
								fontPropoBold,		// _xZkqqHx_iDhGiDiNiDhMiBfLiDfGiDiHiDgJiDiLiDhEiDeIiDjDiDgHjBlOjFlGiOjKiCpAiOhHjCoIiBeC_xHqqkZx_
								fontMono,			// _xZkqqHx_iMmFjCoIjFjNiDhEiDeIiDjDiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
								m_wstrCurMessage,	// _xZkqqHx_jFfMiOkGiClDiCoKiCoJiDiBiDgCiDfKiBfLiDfHiBeC_xHqqkZx_
								m_pxMonoCharWidth,		// _xZkqqHx_jElMiKhAiCmMjFlGiOjKjFjNiCpAiOhHjCoIiBeC_xHqqkZx_
								m_pxMonoCharHeight,		// _xZkqqHx_jFlGiOjKiNiCiCpAiOhHjCoIiBeC_xHqqkZx_
								pxLineGap,			// _xZkqqHx_iDgFiDeMiDfIiDgHiNhDiKnEiCmMiDeNiDiDiDgCiDhGiBeC_xHqqkZx_
								CP_ACP);
//----- 06.05.17 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----

//----- 06.05.17 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	// _xZkqqHx_iDhEiDeIiDjDiDgHiCpAjGnPiClHiBeC_xHqqkZx_
//	dc.SelectObject(pOldFont);
//----- 06.05.17 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
	// _xZkqqHx_iDgFiDeMiDfIiDgHiOpMiImNiCmMiDhNiBfLiDfHiDjDiCpAiJmBiOfKiClFiCmEjFnEiClHiBeC_xHqqkZx_
	szBox.cx += 2 * s_pxMargin;
	szBox.cy += 2 * s_pxMargin;

//----- 05.07.22 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	// _xZkqqHx_iJoGjFgFiDeBiDeDiDfCiDjDiCmMiDfEiDeDiDfJiCpAiJmBiOfKiBeC_xHqqkZx_
	szBox.cx += s_pxIconMargin + s_szIconTack.cx;
//----- 05.07.22 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----

	return szBox;
} // CFCPursuerText::CalcSize.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::GetHitMessageIndex
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iMlLiNnNiCmMiDhNiDeFiDfIiImKjChFiCmJiCkAiCoJiBeBiDiKiDjDiDeOiPoOjFpBiCpAiOjNiCmBiClNiDhBiDgCiDgHiDiKiDjDiDeOiDeDiDjDiDgGiDgCiDeOiDfIiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDhBiDgCiDgHiDiKiDjDiDeOiDeDiDjDiDgGiDgCiDeOiDfIiBeCiDhBiDgCiDgHiClFiCmEiCkCiCmIiCkCiPoKiNiHiCmN_xHqqkZx_ -1_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.20 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
long CFCPursuerText::GetHitMessageIndex () const
{
	// _xZkqqHx_iDeOiDiJiDeDiDeBiDjDiDgHjHmMiIoGiCpAiOoGjDlOiBeC_xHqqkZx_
	CRect rtClient;
	GetClientRect(rtClient);
	// _xZkqqHx_iDgFiDeMiDfIiDgHiOpMiImNiCmMiDhNiBfLiDfHiDjDjFkKiBeBiLoJiMgAiCpAiPkMiClDiCkNiClHiCoJiBeC_xHqqkZx_
	rtClient.DeflateRect(s_pxMargin, s_pxMargin);
	// _xZkqqHx_jFfMiOkGjCiGiCmMiDhNiDeFiDfIiNmAjFfHiBeC_xHqqkZx_
	CPoint ptMouse = m_ptMouse;
	ScreenToClient(&ptMouse);
	long lIndex;
	for (lIndex = 0; lIndex != m_vSplitCurMessage.size(); lIndex++)
	{
		if (m_vSplitCurMessage[lIndex].m_wstrLink.IsEmpty()) continue;
		CRect rtText = m_vSplitCurMessage[lIndex].m_rtTextFrame +
						CPoint(rtClient.left, rtClient.top);
		if (rtText.PtInRect(ptMouse))
			return lIndex;
	}
	return -1;
} // CFCPursuerText::GetHitMessageIndex.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::GetIsThereLink
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgFiDeMiDfIiDgHjCiGiCmJiDiKiDjDiDeOiCkKiIoKiCmCiCmFiCoAjBlGiNnNiClHiCoJiCkJjClCiCnHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_jBlGiNnNiClHiCoJiPoKiNiHiCmN_xHqqkZx_TRUE_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
BOOL CFCPursuerText::GetIsThereLink () const
{
	for (long lIndex = 0; lIndex != m_vSplitCurMessage.size(); lIndex++)
		if (!m_vSplitCurMessage[lIndex].m_wstrLink.IsEmpty()) return TRUE;
	return FALSE;
} // CFCPursuerText::GetIsThereLink.

/////////////////////////////////////////////////////////////////////////////
// CFCPursuerText _xZkqqHx_iDiBiDgCiDfKiBfLiDfH_xHqqkZx_ _xZkqqHx_iDgOiDjDiDgIiDiJ_xHqqkZx_

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::OnPaint
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFfMiOkGiOjOiCmJiOmAiNhDiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.05.16 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::OnPaint ()
{
	// _xZkqqHx_jFgAiJoGjHhAiCmMiDgGiDgPiDeDiDfIiDfCiDjDiDgFiDeMiDfIiDgHiBeC_xHqqkZx_
	CPaintDC dc(this);
	// _xZkqqHx_iDeOiDiJiDeDiDeBiDjDiDgHjHmMiIoGiCpAiOoGjDlOiBeC_xHqqkZx_
	CRect rtClient;
	GetClientRect(rtClient);
	// _xZkqqHx_jBfDjGmKiCpAjEhHiMgJjAeGiCmFjDgIiCoIjCnHiClHiBeC_xHqqkZx_
	dc.FillRect(rtClient, &CBrush(g_pReg->GetOptiRegColor(FDCL_HINT_BACKGROUND)));
	// _xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiDhEiDeIiDjDiDgHiCpAiNoMjAkMiBeC_xHqqkZx_
	LOGFONT lfTextPropo;
	g_pReg->InitRegFont(lfTextPropo, FDFT_POP_HINT);
//----- 06.05.17 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	LOGFONT lfTextMono;
	g_pReg->InitRegFont(lfTextMono, FDFT_POP_HINT_MONOSPACE);
//----- 06.05.17 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
	// _xZkqqHx_iDhMiDgCiDhGiDeBiDgCiDhGiDgFiDeMiDfIiDgHiCpAjFgAiJoGiBeC_xHqqkZx_
	const long pxLineGap = (D2L(labs(lfTextPropo.lfHeight) * s_dLineGap) / 2) * 2;
	myDrawText(	&dc,
				lfTextPropo,
// 06.05.17 Fukushiro M. 1_xZkqqHx_iNhDjCmHiJmB_xHqqkZx_ ()
				lfTextMono,
				CPoint(s_pxIconMargin + s_szIconTack.cx + s_pxMargin, s_pxMargin),
				pxLineGap,
				g_pReg->GetOptiRegColor(FDCL_HINT_TEXT),
				g_pReg->GetOptiRegColor(FDCL_HINT_LINK),
				g_pReg->GetOptiRegColor(FDCL_HINT_ACTIVE_LINK),
				m_vSplitCurMessage.begin(),
				m_vSplitCurMessage.size(),
				CP_ACP,
				m_lCurHitLinkIndex);

	// CDC_xZkqqHx_iCpA_xHqqkZx_Auto_xZkqqHx_iCmFiDiJiDgCiDhGiBeC_xHqqkZx_
	FCAutoDC atDC(&dc, FALSE, 0, 0);
	if (GetIsThereLink())
	{
		// _xZkqqHx_iDeBiDeDiDfCiDjDiCpAjFgAiJoGiBeC_xHqqkZx_
		if (m_bIsShift)
			atDC.DrawIconEx(s_pxIconMargin, s_pxIconMargin, m_hIconTackOn, 0, 0, 0, NULL, DI_NORMAL);
		else
			atDC.DrawIconEx(s_pxIconMargin, s_pxIconMargin, m_hIconTackOff, 0, 0, 0, NULL, DI_NORMAL);
	}
	//----- _xZkqqHx_iDeFiDeCiDjDiDgIiDeFiOpMiImNiCmJjIgHiCpAjFgAiJoG_xHqqkZx_ -----
	// _xZkqqHx_iJgFiCmMjApMiBeC_xHqqkZx_
	FCAtPen penDark(PS_SOLID, 1, ::GetSysColor(COLOR_3DDKSHADOW));
	// _xZkqqHx_iMpFiCmMjApMiBeC_xHqqkZx_
	FCAtPen penLight(PS_SOLID, 1, ::GetSysColor(COLOR_3DHILIGHT));
	// _xZkqqHx_iNlGiCmGiPoDiCmMjIgHjApMiCmJjGlOiCoJiCkCjApMiBeC_xHqqkZx_
	atDC.SetObject(penLight);
	atDC.MoveTo(rtClient.left, rtClient.bottom - 1);
	atDC.LineTo(rtClient.left, rtClient.top);
	atDC.LineTo(rtClient.right - 1, rtClient.top);
	// _xZkqqHx_iJeFiCmGiJlKiCmMjIgHjApMiCmJiImDiCkCjApMiBeC_xHqqkZx_
	atDC.SetObject(penDark);
	atDC.LineTo(rtClient.right - 1, rtClient.bottom - 1);
	atDC.LineTo(rtClient.left, rtClient.bottom - 1);
} // CFCPursuerText::OnPaint.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::OnTimer
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfOiDeDiDhNiBfLiCmJiCoGiCmBiCmEiOmAiNhDiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.05.17 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::OnTimer (UINT nIDEvent)
{
//	TRACE(_T("CFCPursuerText::OnTimer\n"));
//----- 05.07.18 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	if (IsWindowVisible())
//	//----- _xZkqqHx_iDeFiDeCiDjDiDgIiDeFiCkKjFfMiOkGiClDiCoKiCmEiCkCiCoJiPoKiNiH_xHqqkZx_ -----
//	{
//		// _xZkqqHx_iDeFiDeCiDjDiDgIiDeFiKePiCnGiCmMiDhNiDeFiDfIiInKjDkOiCpAiDgAiDeGiDgCiDeOiClHiCoJiClNiCnPiBeB_xHqqkZx_OnMouseMove_xZkqqHx_iCpAiOmAiNhDiBeC_xHqqkZx_
//		// _xZkqqHx_jFfMiOkGjCiGiCmMiDhNiDeFiDfIiNmAjFfHiCmGiInJiCmIiCoJiPoKiNiHiCmNiBeBiDhNiDeFiDfIiInKjDkOiDeDiDhIiDjDiDgHjEkNjAlGiBeC_xHqqkZx_
//		OnMouseMove();
//	}
//----- 05.07.18 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	OnKeyboard();
	// _xZkqqHx_iDeFiDeCiDjDiDgIiDeFiKePiCnGiCmMiDhNiDeFiDfIiInKjDkOiCpAiDgAiDeGiDgCiDeOiClHiCoJiClNiCnPiBeB_xHqqkZx_OnMouseMove_xZkqqHx_iCpAiOmAiNhDiBeC_xHqqkZx_
	// _xZkqqHx_jFfMiOkGjCiGiCmMiDhNiDeFiDfIiNmAjFfHiCmGiInJiCmIiCoJiPoKiNiHiCmNiBeBiDhNiDeFiDfIiInKjDkOiDeDiDhIiDjDiDgHjEkNjAlGiBeC_xHqqkZx_
	OnMouseMove();
//----- 05.07.18 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----

	if (m_mdmtTimeer != FDMILLISECTIME(-1) &&
		m_mdmtEventTime != FDMILLISECTIME(-1))
	{
		// _xZkqqHx_iDfOiDeDiDhNiBfLiCmJiDeDiDjDiDfOiBfLiDgPiDiLiCpAiJmBiOfKiBeC_xHqqkZx_
		m_mdmtTimeer += FD_INTERVAL_PURSUER_TEXT;
		if (m_mdmtEventTime <= m_mdmtTimeer)
		//----- _xZkqqHx_iDeDiDhIiDjDiDgHiOjOiKnEiCpAiJnPiCkMiClNiPoKiNiH_xHqqkZx_ -----
		{
//			TRACE(_T("EVENT_ON_TIMER\n"));
			m_mdmtTimeer = FDMILLISECTIME(-1);
			OnEvent(EVENT_ON_TIMER);	// _xZkqqHx_iDfOiDeDiDhNiBfLiDeDiDhIiDjDiDgHjEkNjAlGiBeC_xHqqkZx_
		}
	}
	// Superclass_xZkqqHx_iKnGjAjEiOmAiNhDiBeC_xHqqkZx_
	BASE_CLASS::OnTimer(nIDEvent);
} // CFCPursuerText::OnTimer.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::OnCreate
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDeFiDeCiDjDiDgIiDeFiNoMjAkMiOjOiCmJiOmAiNhDiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.06 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
int CFCPursuerText::OnCreate (LPCREATESTRUCT lpCreateStruct)
{
	// Baseclass_xZkqqHx_iKnGjAjEiOmAiNhDiBeC_xHqqkZx_
	if (BASE_CLASS::OnCreate(lpCreateStruct) == -1)
		return -1;

	// _xZkqqHx_iDhNiDeFiDfIiDeKiBfLiDfMiDiLiCmMiMlLiNnNiCmMiImKjChFiCpAiBeBiDfIiDeOiDiKiBfLiDjDiNmAjFfHiCmFiOoGjDlOiBeCiPiJiKpKiJlLiBeC_xHqqkZx_
	(void)::GetCursorPos(&m_ptMouse);
	// _xZkqqHx_iDfGiDhEiDgHiDeMiBfLiCmMiPpDjBnEiBeC_xHqqkZx_
	m_bIsShift = myIsShiftKey();
	// _xZkqqHx_iCkCiClIiCoKiCkJiCmMiDeMiBfLiCkK_xHqqkZx_ON_xZkqqHx_iBeC_xHqqkZx_
	m_bIsAnyKeyOn = myIsAnyKeyOn();

	//----- _xZkqqHx_iMmFjCoIjFjNiDhEiDeIiDjDiDgHiCmMjFlGiOjKiDfEiDeDiDfJiCmMiPoOjFpBiCpAiPiJiKpKiJlL_xHqqkZx_ -----
	CDC dc;
	dc.CreateDC(_T("DISPLAY"), NULL, NULL, NULL);
	// _xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiDhEiDeIiDjDiDgHiCpAiNoMjAkMiBeC_xHqqkZx_
	CFont font;
// 06.05.18 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//	g_pReg->InitRegFont(font, FDFT_POP_HINT);
	g_pReg->InitRegFont(font, FDFT_POP_HINT_MONOSPACE);
	// _xZkqqHx_jAfGiClFiCkCiDhEiDeIiDjDiDgHiCpAjAnNjCoIiBeC_xHqqkZx_
	CFont* pOldFont = dc.SelectObject(&font);
	// _xZkqqHx_iLpDjEjCiCkJiCoH_xHqqkZx_~_xZkqqHx_iCnMiCmFiCmMjFlGiOjKjFjNiCpAiOoGjDlOiBeC_xHqqkZx_
	ABC abc[(0x7e - 0x20) + 1];
	dc.GetCharABCWidths(0x20, 0x7e, abc);
	long lWidthMax = 0;
	for (long lC = 0; lC != (0x7e - 0x20) + 1; lC++)
	{
		const long lWidth = abc[lC].abcA + abc[lC].abcB + abc[lC].abcC;
		if (lWidthMax < lWidth) lWidthMax = lWidth;
	}
	// _xZkqqHx_iMmFjCoIjFjNiDhEiDeIiDjDiDgHiCmMjFlGiOjKjFjNiCpAiOfKiPgPiBeC_xHqqkZx_
	m_pxMonoCharWidth = lWidthMax;
	// _xZkqqHx_iDgFiDeMiDfIiDgHiDiBiDgHiDiKiDeOiDfIiCpAiOoGjDlOiBeC_xHqqkZx_
	TEXTMETRIC tmMetrics;
	dc.GetTextMetrics(&tmMetrics);
	// _xZkqqHx_iMmFjCoIjFjNiDhEiDeIiDjDiDgHiCmMjFlGiOjKiNiCiCpAiOfKiPgPiBeC_xHqqkZx_
	m_pxMonoCharHeight = tmMetrics.tmHeight;

	// _xZkqqHx_iDfOiDeDiDhNiBfLjAnNjCoIiBeC_xHqqkZx_
	SetTimer(FDTIMER_PURSUER_TEXT, FD_INTERVAL_PURSUER_TEXT, NULL);
	return 0;
} // CFCPursuerText::OnCreate.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::OnDestroy
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDeFiDeCiDjDiDgIiDeFiNoNiPjMiOjOiCmJiOmAiNhDiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.06 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCPursuerText::OnDestroy ()
{
	// Baseclass_xZkqqHx_iKnGjAjEiOmAiNhDiBeC_xHqqkZx_
	BASE_CLASS::OnDestroy();
	// _xZkqqHx_iDfOiDeDiDhNiBfLiPeJjHlJiBeC_xHqqkZx_
	KillTimer(FDTIMER_PURSUER_TEXT);
} // CFCPursuerText::OnDestroy.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCPursuerText::GetUpperLeft
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iOhHjCoIiClDiCoKiClNiDhNiDeFiDfIiImKjChFiCkJiCoHiBeBiDhMiDgCiDhGiDhBiDjDiDgHiCmMjDeLjAnIiCmIiImKjChFiCmMiNmAjFfH_xHqqkZx_
 *			_xZkqqHx_iCpAiMhGiOfKiClFiCmEjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	ptMouse		:_xZkqqHx_iDhNiDeFiDfIiImKjChFiCpAiOhHjCoIiBeC_xHqqkZx_
 *			szPopHint	:_xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiCmMiDeFiDeCiDjDiDgIiDeFiDfEiDeDiDfJiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiCmMiNmAjFfHiBgJiLoJiMgAiCmMiNlGiPoDiNmAjFfHiBgKiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiCmNiDhNiDeFiDfIiJeFiJlKiCkKiDgGiDhEiDeIiDiLiDgHiBeCiJoGjGmKiCpAiCmNiCnNiPgPiClHiPoKiNiHiCmNiBeB_xHqqkZx_
 *			_xZkqqHx_iNlGiJlK_xHqqkZx_ -> _xZkqqHx_iNlGiPoD_xHqqkZx_ -> _xZkqqHx_iJeFiPoD_xHqqkZx_ _xZkqqHx_iCmMiPiHiCmJjEhKjChFiCmFiCkLiCoJiCkJjClCiCnHiCoJiBeC_xHqqkZx_
 *			_xZkqqHx_iCkCiClIiCoKiCoAiCmNiCnNiPgPiClHiPoKiNiHiCmNiBeBiDhNiDeFiDfIiDhMiDeDiDjDiDfOiCmJiPgEiCmIiCoHiCmIiCkCiImKjChFiCpAjBeJiCnEiBeC_xHqqkZx_
 *
 *          _xZkqqHx_iDiBiDgKiDiFiBfLiCmJjFfMiOkGiClHiCoJiPoKiNiH_xHqqkZx_
 *                                             C
 *                                      _xZkqqHx_iEkFiEjPiEjPiEjPiEjPiEjPiEjPiEkH_xHqqkZx_
 *                                      _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkBiEjPiEjPiEjPiEjPiEjPiEjPiEkC_xHqqkZx_            _xZkqqHx_iEkBiEjPiEjPiEjPiEjPiEjPiEjPiEkCiEjPiEkGiEjPiEjPiEkG_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iBkK_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_D   _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iElKiEkKiEkKiEkKiEkKiEkKiEkKiElM_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iBkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkEiEjPiEjPiEjPiEjPiElLiEjPiEkD_xHqqkZx_            _xZkqqHx_iEkEiEjPiElLiEjPiEjPiEjPiEkGiEkDiEjPiEkI_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *                    _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iBkK_xHqqkZx_          _xZkqqHx_iEkA_xHqqkZx_
 *                  _xZkqqHx_iBkIiElOiEjPiEkJiBkJ_xHqqkZx_A       _xZkqqHx_iBkIiEkJiEjPiElOiBkJ_xHqqkZx_A   _xZkqqHx_iEkA_xHqqkZx_          _xZkqqHx_iEkA_xHqqkZx_
 *                    _xZkqqHx_iElAiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiElC_xHqqkZx_      _xZkqqHx_iEkA_xHqqkZx_B         _xZkqqHx_iEkA_xHqqkZx_G
 *                    _xZkqqHx_iEkL_xHqqkZx_            Mouse   _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iBkL_xHqqkZx_          _xZkqqHx_iEkA_xHqqkZx_
 *                    _xZkqqHx_iEkL_xHqqkZx_     E      _xZkqqHx_iBeFiBgDiBgDiBgDiElOiBgDiBgDiEjPiEkJ_xHqqkZx_          _xZkqqHx_iEkA_xHqqkZx_
 *                    _xZkqqHx_iEkLiBkJiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiBkIiEkL_xHqqkZx_      _xZkqqHx_iBkK_xHqqkZx_          _xZkqqHx_iEkA_xHqqkZx_
 *                    _xZkqqHx_iElAiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiElC_xHqqkZx_      _xZkqqHx_iEkA_xHqqkZx_B         _xZkqqHx_iEkA_xHqqkZx_
 *                  _xZkqqHx_iBkIiElOiEjPiEkJiBkJ_xHqqkZx_A       _xZkqqHx_iBkIiEkJiEjPiElOiBkJ_xHqqkZx_A   _xZkqqHx_iEkA_xHqqkZx_          _xZkqqHx_iEkA_xHqqkZx_
 *                    _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iBkL_xHqqkZx_          _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkBiEjPiEjPiEjPiEjPiElNiEjPiEkC_xHqqkZx_            _xZkqqHx_iEkBiEjPiElNiEjPiEjPiEjPiEkIiEkCiEjPiEjPiEjPiEjPiEkI_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iElKiEkKiEkKiEkKiEkKiEkKiEkKiElM_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkEiEjPiEjPiEjPiEjPiEjPiEjPiEkD_xHqqkZx_            _xZkqqHx_iEkEiEjPiEjPiEjPiEjPiEjPiEjPiEkD_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_            F             _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkFiBkJiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiBkIiEkH_xHqqkZx_
 *
 *           A: FD_PURSUER_MENU_OVERLAP_X
 *           B: FD_PURSUER_TEXT_OFFSET_Y
 *           C: szPopHint.cx
 *           D: szPopHint.cy
 *           E: rtMenu.Width()
 *           F: lMoveX = C + (E - 2A)
 *           G: lMoveY = D + 2B
 *
 *
 *          _xZkqqHx_iDiBiDgKiDiFiBfLiImIiKePiCmJjFfMiOkGiClHiCoJiPoKiNiH_xHqqkZx_
 *
 *                                           C
 *                                    _xZkqqHx_iEkFiEjPiEjPiEjPiEjPiEjPiEjPiEkH_xHqqkZx_
 *                                    _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkBiEjPiEjPiEjPiEjPiEjPiEjPiEkC_xHqqkZx_          _xZkqqHx_iEkBiEjPiEjPiEjPiEjPiEjPiEjPiEkCiEjPiEkGiEjPiEjPiEkG_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iBkK_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_D   _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_ A      A _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkFiBkJiBkIiEkJiBkJiBkIiEkH_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iBkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkEiEjPiEjPiEjPiEjPiEjPiEkGiEkD_xHqqkZx_    _xZkqqHx_iBeG_xHqqkZx_    _xZkqqHx_iEkEiEkGiEjPiEjPiEjPiEjPiEjPiEkDiEjPiEkI_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_
 *                     B_xZkqqHx_iBkK_xHqqkZx_      _xZkqqHx_iBeG_xHqqkZx_      _xZkqqHx_iBkK_xHqqkZx_B                   _xZkqqHx_iEkA_xHqqkZx_G
 *                      _xZkqqHx_iBkL_xHqqkZx_      _xZkqqHx_iBeG_xHqqkZx_Mouse _xZkqqHx_iBkL_xHqqkZx_                    _xZkqqHx_iEkA_xHqqkZx_
 *                      _xZkqqHx_iEkJiBgDiBgDiBgDiBeFiBgDiBgDiBgDiEkJ_xHqqkZx_                    _xZkqqHx_iEkA_xHqqkZx_
 *                      _xZkqqHx_iBkK_xHqqkZx_      _xZkqqHx_iBeG_xHqqkZx_      _xZkqqHx_iBkK_xHqqkZx_                    _xZkqqHx_iEkA_xHqqkZx_
 *                     B_xZkqqHx_iBkL_xHqqkZx_      _xZkqqHx_iBeG_xHqqkZx_      _xZkqqHx_iBkL_xHqqkZx_B                   _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkBiEjPiEjPiEjPiEjPiEjPiEkIiEkC_xHqqkZx_ A  _xZkqqHx_iBeG_xHqqkZx_  A _xZkqqHx_iEkBiEkIiEjPiEjPiEjPiEjPiEjPiEkCiEjPiEjPiEjPiEjPiEkI_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkFiBkJiBkIiEkJiBkJiBkIiEkH_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_          _xZkqqHx_iEkA_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkEiEjPiEjPiEjPiEjPiEjPiEjPiEkD_xHqqkZx_          _xZkqqHx_iEkEiEjPiEjPiEjPiEjPiEjPiEjPiEkD_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_            F           _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkFiBkJiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiBkIiEkH_xHqqkZx_
 *
 *           A: FD_PURSUER_TEXT_OFFSET_X
 *           B: FD_PURSUER_TEXT_OFFSET_Y
 *           C: szPopHint.cx
 *           D: szPopHint.cy
 *           E: lMoveX = C + 2A
 *           F: lMoveY = D + 2B
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.05.20 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
CPoint CFCPursuerText::GetUpperLeft (CPoint ptMouse, CSize szPopHint) const
{
//----- 06.05.16 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	// _xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiCmMiLoJiMgAiCpAiBeBiDhNiDeFiDfIiJeFiJlKiCmFiPiJiKpKiJlLiMhGiOfKiBeC_xHqqkZx_
//	CRect rtPopHint;
//	rtPopHint.left = ptMouse.x + FD_PURSUER_TEXT_OFFSET_X;
//
//	if (m_hwndMenu != NULL)
//	//----- _xZkqqHx_iDiBiDgKiDiFiBfLiCmJiDhBiDgCiDgHjCiGiCmMiPoKiNiH_xHqqkZx_ -----
//	{
//		// _xZkqqHx_iDhMiDgCiDhGiDeBiDgCiDhGiCkKiDiBiDgKiDiFiBfLiCmJjEoNiClDiCoJiCmGiOnHjGiCiCmJiCmIiCoJiCmMiCmFiBeB_xHqqkZx_
//		// _xZkqqHx_iDiBiDgKiDiFiBfLiCmMiJeFjCfLiCmJiInKjDkOiClHiCoJiBeC_xHqqkZx_
//		CRect rtMenu;
//		::GetWindowRect(m_hwndMenu, rtMenu);
//		rtPopHint.left = rtMenu.right - FD_PURSUER_MENU_OVERLAP_X;
//	}
//	rtPopHint.top = ptMouse.y + FD_PURSUER_TEXT_OFFSET_Y;
//	rtPopHint.right = rtPopHint.left + szPopHint.cx;
//	rtPopHint.bottom = rtPopHint.top + szPopHint.cy;
//	// _xZkqqHx_iDiCiDgKiDfOiBfLiCmJiLoJiMgAiCkKiOpLiCnMiCoJiCoGiCkEjFoCjAlDiBeC_xHqqkZx_
//	rtPopHint += FFJustifyToMonitor(rtPopHint);
//
//	return CPoint(rtPopHint.left, rtPopHint.top);
//----- 06.05.16 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	// _xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiCmMiLoJiMgAiBeCiDhNiDeFiDfIiJeFiJlKiCmFiPiJiKpKiJlLiBeC_xHqqkZx_
	CRect rtPopHint;
	long lMoveX;
	long lMoveY;
	if (m_hwndMenu != NULL)
	//----- _xZkqqHx_iDiBiDgKiDiFiBfLiCmJiDhBiDgCiDgHjCiGiCmMiPoKiNiH_xHqqkZx_ -----
	{
		// _xZkqqHx_iDhMiDgCiDhGiDeBiDgCiDhGiCkKiDiBiDgKiDiFiBfLiCmJjEoNiClDiCoJiCmGiOnHjGiCiCmJiCmIiCoJiCmMiCmFiBeB_xHqqkZx_
		// _xZkqqHx_iDiBiDgKiDiFiBfLiCmMiJeFjCfLiCmJiInKjDkOiClHiCoJiBeC_xHqqkZx_
		CRect rtMenu;
		::GetWindowRect(m_hwndMenu, rtMenu);
		rtPopHint.left = rtMenu.right - FD_PURSUER_MENU_OVERLAP_X;
		lMoveX = szPopHint.cx + (rtMenu.Width() - 2 * FD_PURSUER_MENU_OVERLAP_X);
	} else
	//----- _xZkqqHx_iDiBiDgKiDiFiBfLiImIiKePiCmJiDhBiDgCiDgHjCiGiCmMiPoKiNiH_xHqqkZx_ -----
	{
		rtPopHint.left = ptMouse.x + FD_PURSUER_TEXT_OFFSET_X;
		lMoveX = szPopHint.cx + 2 * FD_PURSUER_TEXT_OFFSET_X;
	}
	lMoveY = szPopHint.cy + 2 * FD_PURSUER_TEXT_OFFSET_Y;
	rtPopHint.top = ptMouse.y + FD_PURSUER_TEXT_OFFSET_Y;
	rtPopHint.right = rtPopHint.left + szPopHint.cx;
	rtPopHint.bottom = rtPopHint.top + szPopHint.cy;

  do
  {
	// _xZkqqHx_iJeFiJlKiCkJiCoHjClCiCnHiCoJiBeC_xHqqkZx_
	// _xZkqqHx_iDiCiDgKiDfOiBfLiCmJiLoJiMgAiCkKiOpLiCnMiCoJiCoGiCkEjFoCjAlDiBeC_xHqqkZx_
	CRect rtNewPopHint1 = rtPopHint + FFJustifyToMonitor(rtPopHint);
	// _xZkqqHx_jFoCjAlDiClDiCoKiCmIiCkCiPoKiNiHiCmNiCgOiCgKiBeC_xHqqkZx_
	if (rtNewPopHint1 == rtPopHint) break;
	// _xZkqqHx_iJeFiJlK_xHqqkZx_ -> _xZkqqHx_iNlGiJlK_xHqqkZx_ _xZkqqHx_iCnGiInKjDkOiBeC_xHqqkZx_
	rtPopHint += CSize(-lMoveX, 0);
	CRect rtNewPopHint2 = rtPopHint + FFJustifyToMonitor(rtPopHint);
	if (rtNewPopHint2 == rtPopHint) break;
	// _xZkqqHx_iNlGiJlK_xHqqkZx_ -> _xZkqqHx_iNlGiPoD_xHqqkZx_ _xZkqqHx_iCnGiInKjDkOiBeC_xHqqkZx_
	rtPopHint += CSize(0, -lMoveY);
	CRect rtNewPopHint3 = rtPopHint + FFJustifyToMonitor(rtPopHint);
	if (rtNewPopHint3 == rtPopHint) break;
	// _xZkqqHx_iNlGiPoD_xHqqkZx_ -> _xZkqqHx_iJeFiPoD_xHqqkZx_ _xZkqqHx_iCnGiInKjDkOiBeC_xHqqkZx_
	rtPopHint += CSize(lMoveX, 0);
	CRect rtNewPopHint4 = rtPopHint + FFJustifyToMonitor(rtPopHint);
	if (rtNewPopHint4 == rtPopHint) break;

	//----- _xZkqqHx_iJeFiJlKiBgAiJeFiPoD_xHqqkZx_ _xZkqqHx_iCkCiClIiCoKiCoAjFoCjAlDiClDiCoKiClNiPoKiNiH_xHqqkZx_ -----

	if (!rtNewPopHint1.PtInRect(ptMouse))
	{
		rtPopHint = rtNewPopHint1;
		break;
	}
	if (!rtNewPopHint2.PtInRect(ptMouse))
	{
		rtPopHint = rtNewPopHint2;
		break;
	}
	if (!rtNewPopHint3.PtInRect(ptMouse))
	{
		rtPopHint = rtNewPopHint3;
		break;
	}
	if (!rtNewPopHint4.PtInRect(ptMouse))
	{
		rtPopHint = rtNewPopHint4;
		break;
	}
	rtPopHint = rtNewPopHint1;
  } while (FALSE);
	return CPoint(rtPopHint.left, rtPopHint.top);
//----- 06.05.16 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // CFCPursuerText::GetUpperLeft.
