// CmbBoxOnKey.cpp : _xZkqqHx_iDeDiDjDiDhGiDiKiDiBiDjDiDgFiBfLiDfGiDiHiDjD_xHqqkZx_ _xZkqqHx_iDhEiDeAiDeDiDiL_xHqqkZx_
//

#include "stdafx.h"
#include "DynamicDraw.h"	// FFGetApp().
#include "UtilWin.h"		// For FFGetWindowText.
#include "FrameWnd.h"		// For FFGetMainWnd().
#include "PursuerText.h"	// For CFCPursuerText.
#include "CmbBoxOnKey.h"	// This header.

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

// _xZkqqHx_iDiKiDfIiDgHiDeFiDeCiDjDiDgIiDeF_xHqqkZx_->_xZkqqHx_iDfCiDjDiDhLiDhLiDgCiDeOiDfIjFmPjAjEiBeCiDeFiDeCiDjDiDgIiDeFiDhGiDiNiDfGiDfHiDiDjHhAiBeC_xHqqkZx_
map<HWND, CFCCmbBoxOnKey*> CFCCmbBoxOnKey::s_mpListWndToCmbBox;

IMPLEMENT_DYNCREATE(CFCCmbBoxOnKey, CComboBox)

/////////////////////////////////////////////////////////////////////////////
// _xZkqqHx_iDiGiBfLiDfFiKnGjAjEiBeC_xHqqkZx_

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCCmbBoxOnKey::AddKey
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jDpMjHmNiCpAiDeMiDiDiDgCiDgAiClHiCoJiDeMiBfLiCpAjCmHiJmBiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	wKey	:_xZkqqHx_iDeMiBfLiCpAiOhHjCoIiBeCiJlMjBhKiDeMiBfLiClOiCkKiBeBiNlGiJeFiCpAiLoGjFmKiClFiCmIiCkCiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	03.07.19 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCCmbBoxOnKey::AddKey (WORD wKey)
{
	m_stKeys.insert(wKey);
} // CFCCmbBoxOnKey::AddKey.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCCmbBoxOnKey::SetIsNumber
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iClBiCmMiDfCiDjDiDhLiDhLiDgCiDeOiDfIiCkKjAjEjCgMjHpBiCpAiIlFiCkEiCkJiCmHiCkEiCkJiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	bIsNumber	:_xZkqqHx_jAjEjCgMjHpBiCmMiPoKiNiHiCmN_xHqqkZx_TRUE_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.06.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCCmbBoxOnKey::SetIsNumber (BOOL bIsNumber)
{
	m_bIsNumber = bIsNumber;
} // CFCCmbBoxOnKey::SetIsNumber.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCCmbBoxOnKey::GetListClientRect
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiDeFiDeCiDjDiDgIiDeFiCmMiOmAiOlPiCmMiDeOiDiJiDeDiDeBiDjDiDgHjHmMiIoGiCpAiOfKiPgPiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDeOiDiJiDeDiDeBiDjDiDgHjHmMiIoGiLoJiMgAiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiCmMiDeFiDeCiDjDiDgIiDeFiCmNiBeBiMkJiCkGiCmIiCkCiCkKiDfCiDjDiDhLiDhLiDgCiDeOiDfIiCmMiNlGiPoDiCkJiCoH_xHqqkZx_
 *			_xZkqqHx_iOgOiCnMiCmBiCmEiCkCiCoJiBeC_xHqqkZx_
 *
 *          _xZkqqHx_iEkBiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEkGiEjPiEkCiBgDiBgDiBgDiBgDiBgDiBgDiBgDiEkC_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_ ComboBox         _xZkqqHx_iEkAiBkFiEkA_xHqqkZx_              _xZkqqHx_iBeG_xHqqkZx_
 *          _xZkqqHx_iEkEiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEkIiEjPiEkDiEjPiEjPiEjPiEjPiEjPiEkGiEjPiEkH_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_                                  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkAiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_                                  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkAiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_                                  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkAiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiEkFiEjPiEkH_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_                                  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkAiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_                                  _xZkqqHx_iEkFiEjPiEkH_xHqqkZx_
 *          _xZkqqHx_iEkAiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_                                  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkAiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_                                  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkEiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEkIiEjPiEkD_xHqqkZx_
 *
 *			_xZkqqHx_iIlNiCkCiCmNiDhGiDiLiDfPiDeFiDjDiCkKiPoDiCmJiPgPiCoJiPoKiNiHiCmNiBeBiDiKiDfIiDgHiCmMiNlGiJlKiCkKiDfCiDjDiDhLiDhLiDgCiDeOiDfI_xHqqkZx_
 *			_xZkqqHx_iCmJiCkJiCkJiCmBiCmEiCkCiCoJiBeC_xHqqkZx_
 *
 *          _xZkqqHx_iEkBiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEkGiEjPiEkC_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_                                  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkAiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_                                  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkAiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_                                  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkAiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiEkFiEjPiEkH_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_                                  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkAiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_                                  _xZkqqHx_iEkFiEjPiEkH_xHqqkZx_
 *          _xZkqqHx_iEkAiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_                                  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkAiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_                                  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *          _xZkqqHx_iEkBiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEkGiEjPiEkCiEjPiEjPiEjPiEjPiEjPiEkIiEjPiEkH_xHqqkZx_
 *          _xZkqqHx_iEkA_xHqqkZx_ ComboBox         _xZkqqHx_iEkAiBkFiEkA_xHqqkZx_              _xZkqqHx_iBeG_xHqqkZx_
 *          _xZkqqHx_iEkEiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEkIiEjPiEkDiBgDiBgDiBgDiBgDiBgDiBgDiBgDiEkD_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.16 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
CRect CFCCmbBoxOnKey::GetListClientRect () const
{
//----- 06.03.16 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	// _xZkqqHx_iDfCiDjDiDhLiDhLiDgCiDeOiDfIiCmMiDeFiDeCiDjDiDgIiDeFiLoJiMgAiCpAiDfIiDeOiDiKiBfLiDjDiNmAjFfHiCmFiOoGjDlOiBeC_xHqqkZx_
//	CRect rtCmb;
//	GetWindowRect(rtCmb);
//	// _xZkqqHx_iDfCiDjDiDhLiDhLiDgCiDeOiDfIiJeFiJlKiNmAjFfHiCpAiDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiDeFiDeCiDjDiDgIiDeFiCmMiDeOiDiJiDeDiDeBiDjDiDgHiNmAjFfHiCmJjFmPiKlHiBeC_xHqqkZx_
//	CPoint ptCmbRB(rtCmb.right, rtCmb.bottom);
//	::ScreenToClient(m_hwndList, &ptCmbRB);
//	// _xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiCmMiDeOiDiJiDeDiDeBiDjDiDgHjHmMiIoGiCpAiOfKiPgPiBeC_xHqqkZx_
//	CRect rtList;
//	::GetClientRect(m_hwndList, rtList);
//	// _xZkqqHx_iDeOiDiJiDeDiDeBiDjDiDgHjHmMiIoGiCmMiPoDiNmAjFfHiCpAjFoCjAlDiBeCiDfCiDjDiDhLiDhLiDgCiDeOiDfIiCpAjFkCiCkEjDkHjGlOjFjEjFkKiCkKiCkAiCoJiClNiCnPiBeC_xHqqkZx_
//	rtList.top = ptCmbRB.y + 1;
//	return rtList;
//----- 06.03.16 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	// _xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiCmMiDeOiDiJiDeDiDeBiDjDiDgHjHmMiIoGiCpAiOfKiPgPiBeC_xHqqkZx_
	CRect rtList;
	::GetClientRect(m_hwndList, rtList);
//----- 06.03.16 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	// _xZkqqHx_iDfIiDeOiDiKiBfLiDjDiNmAjFfHiCmJjFmPiKlHiBeC_xHqqkZx_
//	FFClientToScreen(m_hwndList, rtList);
//	// _xZkqqHx_iDfCiDjDiDhLiDhLiDgCiDeOiDfIiCmMiDeOiDiJiDeDiDeBiDjDiDgHiNmAjFfHiCmJjFmPiKlHiBeC_xHqqkZx_
//	ScreenToClient(rtList);
//----- 06.03.16 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
	return rtList;
//----- 06.03.16 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // CFCCmbBoxOnKey::GetListClientRect.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCCmbBoxOnKey::GetListClientRectAsScreen
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiCmMiDeOiDiJiDeDiDeBiDjDiDgHjHmMiIoGiCpAiDfIiDeOiDiKiBfLiDjDiNmAjFfHiMgOiCmFiOoGjDlOiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiCmMiDeOiDiJiDeDiDeBiDjDiDgHjHmMiIoGiCpAiDfIiDeOiDiKiBfLiDjDiNmAjFfHiMgOiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.03.16 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
CRect CFCCmbBoxOnKey::GetListClientRectAsScreen () const
{
	CRect rt = GetListClientRect();
	FFClientToScreen(m_hwndList, rt);
	return rt;
} // CFCCmbBoxOnKey::GetListClientRectAsScreen.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCCmbBoxOnKey::OnListPursuerTextNeedInfo
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiCmJiDhNiDeFiDfIiDeKiBfLiDfMiDiLiCkKjCoCiOhOiClFiClNiPoKiNiHiBeBjCmHjAnFiDhBiDjDiDgHiCkJiCoH_xHqqkZx_
 *			_xZkqqHx_iDhBiDjDiDgHiDgFiDeMiDfIiDgHjHhGiLiBiDiBiDgCiDfKiBfLiDfHiCkKjBjHjFhEiClDiCoKiCoJiBeC_xHqqkZx_
 *			_xZkqqHx_iClLiCmMiDiBiDgCiDfKiBfLiDfHiCmJiCoGiCoIiOmAiNhDiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	iIndex	:_xZkqqHx_iDhNiDeFiDfIiCkKjCoCiOhOiClFiCmEiCkCiCoJiImKjChFiCmMiDeDiDjDiDgGiDgCiDeOiDfIiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_jCmHjAnFiDhBiDjDiDgHiCpAiOpDiCkPjDpMiCoKiCoJiPoKiNiHiCmNiCfAiBeBiOpDiCkPjDpMiCoKiCmIiCkCiPoKiNiHiCmNiCePiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jCiNiInD_xHqqkZx_>	_xZkqqHx_iCePiCpAjFnEiClFiClNiPoKiNiHiBeBjCmHjAnFiDhBiDjDiDgHiCmNjAgFiDeFiDeCiDjDiDgIiDeFiCmJiDiBiDgCiDfKiBfLiDfHiCpAjBjHjFhEiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.15 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
LRESULT CFCCmbBoxOnKey::OnListPursuerTextNeedInfo (int iIndex)
{
	TRACE(_T("CFCCmbBoxOnKey::OnListPursuerTextNeedInfo %d\n"), iIndex);
	return 1;
} // CFCCmbBoxOnKey::OnListPursuerTextNeedInfo.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCCmbBoxOnKey::OnItemPursuerTextNeedInfo
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDeBiDeDiDgFiDiAiCmJiDhNiDeFiDfIiDeKiBfLiDfMiDiLiCkKjCoCiOhOiClFiClNiPoKiNiHiBeBjCmHjAnFiDhBiDjDiDgHiCkJiCoH_xHqqkZx_
 *			_xZkqqHx_iDhBiDjDiDgHiDgFiDeMiDfIiDgHjHhGiLiBiDiBiDgCiDfKiBfLiDfHiCkKjBjHjFhEiClDiCoKiCoJiBeC_xHqqkZx_
 *			_xZkqqHx_iClLiCmMiDiBiDgCiDfKiBfLiDfHiCmJiCoGiCoIiOmAiNhDiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	wstrHintText	:_xZkqqHx_iDhBiDjDiDgHiDgFiDeMiDfIiDgHiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_jCmHjAnFiDhBiDjDiDgHiCpAiOpDiCkPjDpMiCoKiCoJiPoKiNiHiCmN_xHqqkZx_TRUE_xZkqqHx_iBeBiOpDiCkPjDpMiCoKiCmIiCkCiPoKiNiHiCmN_xHqqkZx_FALSE_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_jCiNiInD_xHqqkZx_>	FALSE_xZkqqHx_iCpAjFnEiClFiClNiPoKiNiHiBeBjCmHjAnFiDhBiDjDiDgHiCmNjAgFiDeFiDeCiDjDiDgIiDeFiCmJiDiBiDgCiDfKiBfLiDfHiCpAjBjHjFhEiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.03.16 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
BOOL CFCCmbBoxOnKey::OnItemPursuerTextNeedInfo (WString& wstrHintText)
{
	return FALSE;
} // CFCCmbBoxOnKey::OnItemPursuerTextNeedInfo.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCCmbBoxOnKey::ListMessageProc
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiCmJjBjHiCoHiCoKiCoJiDiBiDgCiDfKiBfLiDfHiCpAiOpDiCkPiOoGiCmBiCmEiPiIjHjNiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDiBiDgCiDfKiBfLiDfHiCpAiOpDiCkPjDpMiCoKiCoJiPoKiNiHiCmNiCfAiBeBiOpDiCkPjDpMiCoKiCmIiCkCiPoKiNiHiCmNiCePiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jCiNiInD_xHqqkZx_>	_xZkqqHx_iCePiCpAjFnEiClFiClNiPoKiNiHiBeBiDgGiDhEiDeIiDiLiDgHiCmMiDeFiDeCiDjDiDgIiDeFiDhGiDiNiDfGiDfHiDiDiCkKiPiIjHjNiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.15 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
LRESULT CFCCmbBoxOnKey::ListMessageProc (	UINT uMsg,
											WPARAM wParam,
											LPARAM lParam)
{
	if (uMsg == WM_USER_PURSUER_TEXT_NEED_INFO)
	//----- _xZkqqHx_jCmHjAnFiDhBiDjDiDgHiCmMiDiBiDgCiDfKiBfLiDfHiCmMiPoKiNiH_xHqqkZx_ -----
	{
		// _xZkqqHx_iDhNiDeFiDfIiDeKiBfLiDfMiDiLiCmMiMlLiNnNiCmMiImKjChFiCpAiBeBiDfIiDeOiDiKiBfLiDjDiNmAjFfHiCmFiOoGjDlOiBeC_xHqqkZx_
		CPoint ptMouse;
		(void)::GetCursorPos(&ptMouse);
//----- 06.03.16 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//		// _xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiCmMiDeOiDiJiDeDiDeBiDjDiDgHjHmMiIoGiCpAiOfKiPgPiBeC_xHqqkZx_
//		CRect rtList = GetListClientRect();
//		// _xZkqqHx_iNlGiPoDiNmAjFfHiCpAiDfIiDeOiDiKiBfLiDjDiNmAjFfHiMgOiCmJjFmPiKlHiBeC_xHqqkZx_
//		CPoint ptListLT(rtList.left, rtList.top);
//		::ClientToScreen(m_hwndList, &ptListLT);
//		// _xZkqqHx_iDfCiDjDiDhLiDhLiDgCiDeOiDfIiCmMiDeFiDeCiDjDiDgIiDeFiLoJiMgAiCpAiDfIiDeOiDiKiBfLiDjDiNmAjFfHiCmFiOoGjDlOiBeC_xHqqkZx_
//		CRect rtWin;
//		GetWindowRect(rtWin);
//		// _xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHjCiGiCmMiDeBiDeDiDgFiDiAiNiCiCpAiOoGjDlOiBeC_xHqqkZx_
//		const int iItemHeight = GetItemHeight(0);
//		// _xZkqqHx_iDhNiDeFiDfIiImKjChFiCmMiDeDiDjDiDgGiDgCiDeOiDfIiCpAiMhGiOfKiBeC_xHqqkZx_
//		int iIndex = GetTopIndex() + ((ptMouse.y - ptListLT.y) / iItemHeight);
//		if ((ptMouse.y - rtWin.bottom) % iItemHeight == 0) iIndex--;
//----- 06.03.16 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
		// _xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiCmMiDeOiDiJiDeDiDeBiDjDiDgHjHmMiIoGiCpAiDfIiDeOiDiKiBfLiDjDiNmAjFfHiCmFiOfKiPgPiBeC_xHqqkZx_
		CRect rtList = GetListClientRectAsScreen();
		// _xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHjCiGiCmMiDeBiDeDiDgFiDiAiNiCiCpAiOoGjDlOiBeC_xHqqkZx_
		const int iItemHeight = GetItemHeight(0);
		// _xZkqqHx_iDhNiDeFiDfIiImKjChFiCmMiDeDiDjDiDgGiDgCiDeOiDfIiCpAiMhGiOfKiBeC_xHqqkZx_
		int iIndex = GetTopIndex() + ((ptMouse.y - rtList.top) / iItemHeight);
// 06.03.16 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//		if ((ptMouse.y - rtList.top) % iItemHeight == 0) iIndex--;
//----- 06.03.16 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
		// _xZkqqHx_iDiBiDjDiDgPiKnGjAjEiCpAiOmAiNhDiBeC_xHqqkZx_
		return OnListPursuerTextNeedInfo(iIndex);
	} else
	//----- _xZkqqHx_jCmHjAnFiDhBiDjDiDgHiCmMiDiBiDgCiDfKiBfLiDfHiImIiKePiCmMiPoKiNiH_xHqqkZx_ -----
	{
		return 0;
	}
} // CFCCmbBoxOnKey::ListMessageProc.

/////////////////////////////////////////////////////////////////////////////
// CFCCmbBoxOnKey

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCCmbBoxOnKey::CFCCmbBoxOnKey
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgGiDhEiDeIiDiLiDgHiDfCiDjDiDfIiDgHiDiJiDeOiDfOiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	03.06.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
CFCCmbBoxOnKey::CFCCmbBoxOnKey ()
{
	// _xZkqqHx_jAnNjCoIiClDiCoKiCoJiCmMiCmNjAjEjCgMjHpBiCkJiBeI_xHqqkZx_
	m_bIsNumber = FALSE;
	// _xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiDeFiDeCiDjDiDgIiDeFiCmMiDeJiDiKiDfHiDgJiDiLiDhGiDiNiDfGiDfHiDiDiBeC_xHqqkZx_
	m_procList = NULL;
	// _xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiDeFiDeCiDjDiDgIiDeFiBeC_xHqqkZx_
	m_hwndList = NULL;
} // CFCCmbBoxOnKey::CFCCmbBoxOnKey.

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

BEGIN_MESSAGE_MAP(CFCCmbBoxOnKey, BASE_CLASS)
	//{{AFX_MSG_MAP(CFCCmbBoxOnKey)
	ON_WM_MOUSEWHEEL()
	ON_WM_CREATE()
	ON_WM_DESTROY()
	//}}AFX_MSG_MAP
	ON_CONTROL_REFLECT(CBN_SETFOCUS, OnSetfocus)
	ON_CONTROL_REFLECT(CBN_KILLFOCUS, OnKillfocus)
	ON_MESSAGE(WM_USER_PURSUER_TEXT_NEED_INFO, OnUserPursuerTextNeedInfo)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFCCmbBoxOnKey _xZkqqHx_iDiBiDgCiDfKiBfLiDfH_xHqqkZx_ _xZkqqHx_iDgOiDjDiDgIiDiJ_xHqqkZx_

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCCmbBoxOnKey::PreTranslateMessage
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDiBiDgCiDfKiBfLiDfHiCmMiPiIjHjNiBeCiJpMiNhDiBeBiCgEiChCiCgCiDeMiBfLiCpAjFnPiCoHiCkGiCoJiClNiCnPiCmJiNoMjAkMiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	00.08.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
BOOL CFCCmbBoxOnKey::PreTranslateMessage (MSG* pMsg)
{
//----- 03.07.19 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	// _xZkqqHx_iDeMiBfLiDfPiDeFiDjD_xHqqkZx_ _xZkqqHx_iCmMiPoKiNiHiBeC_xHqqkZx_
//	if (pMsg->message == WM_KEYDOWN)
//	{
//		// _xZkqqHx_iJlMjBhKiDeMiBfLiCpAiOmAiNnLiCmMiDeMiDiDiDiJiDeOiDfOiCmJjFmPiKlHiBeC_xHqqkZx_
//		UINT dwAft = ::MapVirtualKey(pMsg->wParam, 2);
//		if (dwAft == VK_RETURN && GetParent() != NULL)
//		{
//			GetParent()->PostMessage(WM_COMMAND, ID_VIEW_CMB_ZOOM_ENTER, 0);
//		} else
//		if (dwAft == VK_ESCAPE && GetParent() != NULL)
//		{
//			GetParent()->PostMessage(WM_COMMAND, ID_VIEW_CMB_ZOOM_CANCEL, 0);
//		}
//	}
//----- 03.07.19 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	if (pMsg->message == WM_KEYDOWN)
	//----- _xZkqqHx_iDeMiBfLiDfPiDeFiDjD_xHqqkZx_ _xZkqqHx_iCmMiPoKiNiH_xHqqkZx_ -----
	{
		// _xZkqqHx_iJlMjBhKiDeMiBfLiCpAiOmAiNnLiCmMiDeMiDiDiDiJiDeOiDfOiCmJjFmPiKlHiBeC_xHqqkZx_
		WORD wAft = (WORD)::MapVirtualKey(pMsg->wParam, 2);
		if (GetParent() != NULL &&
			m_stKeys.find(wAft) != m_stKeys.end())
		{
			GetParent()->PostMessage(WM_USER_CMB_BOX_ON_KEY, GetDlgCtrlID(), wAft);
		}
	}
//----- 03.07.19 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
	// Superclass_xZkqqHx_iKnGjAjEiCpAiOmAiNhDiBeC_xHqqkZx_
	return BASE_CLASS::PreTranslateMessage(pMsg);
} // CFCCmbBoxOnKey::PreTranslateMessage.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCCmbBoxOnKey::OnMouseWheel
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDeDiDjDiDgFiDiKiDhNiDeFiDfIiCmM_xHqqkZx_wheel_xZkqqHx_iCkKiJpBjDfNiClFiClNiCmGiCkLiCmJiOmAiNhDiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	nFlags	:_xZkqqHx_jDkPiOjOiCmJiJjPiClDiCoKiCmEiCkCiCoJiDeMiBfLiCmMiPpDjBnEiCpAiOhHjCoIiBeC_xHqqkZx_
 *			zDelta	:_xZkqqHx_iJpBjDfNiLjHjHkDiCpAiOhHiOkGiBeC_xHqqkZx_zDelta _xZkqqHx_jCgMiCmN_xHqqkZx_ WHEEL_DELTA (_xZkqqHx_jCgM_xHqqkZx_ 120)
 *					 _xZkqqHx_iCmMjEhLjAjEiCnMiClNiCmNjGpBjAjEiCmJiClFiCnMiClHiBeC_xHqqkZx_
 *			pt		:_xZkqqHx_iDeKiBfLiDfMiDiLiCmM_xHqqkZx_ xy _xZkqqHx_iNmAjFfHiCpAiOhHjCoIiBeCiDeFiDeCiDjDiDgIiDeFiCmMiNlGiPoDiLpHiCpAiMlEjDfPiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDhNiDeFiDfIiDhKiDeDiBfLiDiLiDfIiDeOiDiNiBfLiDiLiCkKjHeMiMpIiCmIiPoKiNiHiCmN_xHqqkZx_ 0 _xZkqqHx_iImIiKePiCpAjFnEiClFiCnMiClHiBeC_xHqqkZx_
 *			_xZkqqHx_jGlDiMpIiCmIiPoKiNiHiCmN_xHqqkZx_ 0 _xZkqqHx_iCpAjFnEiClFiCnMiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.06.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
BOOL CFCCmbBoxOnKey::OnMouseWheel (UINT nFlags, short zDelta, CPoint pt)
{
//----- 06.11.29 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	if (m_bIsNumber)
//	//---- _xZkqqHx_jAjEjCgMjHpBiCmMiPoKiNiH_xHqqkZx_ -----
//	{
//		WString wstrText;
//		FFGetWindowText(this, wstrText);
//		double dValue = wcstod(wstrText, NULL);
//		// zDelta _xZkqqHx_iCkKjFiJiCmMiPoKiNiHiCmNiBeBjBeJjBpAiCmNiJlKjFpLiMpMiBgJjAjEjCgMiCkKjBjNiCkGiCoJjFpLiMpMiBgKiCnGiDfIiDeOiDiNiBfLiDiLiBeC_xHqqkZx_
//// 06.11.29 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
////		if (zDelta < 0)
//		if ((zDelta < 0 && bIsAscending) || (0 < zDelta && !bIsAscending))
//		//----- _xZkqqHx_jAjEjCgMiCkKjBjNiCkGiCoJjFpLiMpMiCnGiDfIiDeOiDiNiBfLiDiLiCmMiPoKiNiH_xHqqkZx_ -----
//		{
//			// _xZkqqHx_jHoBiBeG_xHqqkZx_
//			// _xZkqqHx_iDfCiDjDiDhLiDhLiDgCiDeOiDfIiCmMiDiKiDfIiDgHiBeC_xHqqkZx_
//			// 10  --- A
//			// 20  --- B
//			// 30  --- C
//			// 30  --- D
//			// 30  --- E
//			// 40  --- F
//			// 50  --- G
//			//
//			// 5 _xZkqqHx_iCmMiPoKiNiH_xHqqkZx_ A _xZkqqHx_iCpAjBeJjBpAiClFiCmEiBeBjBeJjBpAiPiIjHjNiBeC_xHqqkZx_
//			// 30 _xZkqqHx_iCmMiPoKiNiH_xHqqkZx_ E _xZkqqHx_iCpAjBeJjBpAiClFiCmEiBeBiDhKiDeDiBfLiDiLiPiIjHjNiBeC_xHqqkZx_
//			// 35 _xZkqqHx_iCmMiPoKiNiH_xHqqkZx_ E _xZkqqHx_iCpAjBeJjBpAiClFiCmEiBeBiDhKiDeDiBfLiDiLiPiIjHjNiBeC_xHqqkZx_
//			// 40 _xZkqqHx_iCmMiPoKiNiH_xHqqkZx_ F _xZkqqHx_iCpAjBeJjBpAiClFiCmEiBeBiDhKiDeDiBfLiDiLiPiIjHjNiBeC_xHqqkZx_
//			// 50 _xZkqqHx_iCmMiPoKiNiH_xHqqkZx_ _xZkqqHx_iDhKiDeDiBfLiDiLjGlDiMpIiBeC_xHqqkZx_
//
//			int iIndex;
//			for (iIndex = 0; iIndex != GetCount(); iIndex++)
//			{
//				WString wLBText;
//				FFGetLBText(this, iIndex, wLBText);
//				double dLBValue = wcstod(wLBText, NULL);
//				if (!almostlesseq(dLBValue, dValue)) break;
//			}
//			if (iIndex == 0)
//			//----- _xZkqqHx_jCgMiCkKiDiKiDfIiDgHiNmFiPiJiCmMjCgMiCoGiCoIiCoAiPkMiClDiCkCiPoKiNiH_xHqqkZx_ ----
//			{
//				// _xZkqqHx_iDhKiDeDiBfLiDiLiPiIjHjNiCmNiNhDiCoNiClIiBeBiDeDiDjDiDgGiDgCiDeOiDfIiCePiCkKjBeJjBpAiClDiCoKiClNiPiIjHjNiCmMiCnNiNhDiCkEiBeC_xHqqkZx_
//				// _xZkqqHx_iDeDiDjDiDgGiDgCiDeOiDfIiCePiCpAjBeJjBpAiBeC_xHqqkZx_
//				SetCurSel(0);
//				// _xZkqqHx_jBeJjBpAiCkKjFmPiNfIiClDiCoKiClNiClBiCmGiCpAjCmKjCgNiClHiCoJiBeC_xHqqkZx_
//				if (GetParent() == NULL) return TRUE;
//				GetParent()->SendMessage(WM_COMMAND, MAKELONG(GetDlgCtrlID(), CBN_SELCHANGE),
//										(LPARAM)m_hWnd);
//				// _xZkqqHx_iDhNiDeFiDfIiDhKiDeDiBfLiDiLiCkKjHeMiMpIiCmFiCkAiCoJiCmGjFnEiClHiClBiCmGiCmJiCoGiCmBiCmEiBeBiImIiMoDiCmMiDhKiDeDiBfLiDiLiPiIjHjNiCpAjAoCiCmCiBeC_xHqqkZx_
//				// FALSE _xZkqqHx_iCpAjFnEiClFiClNiPoKiNiHiBeBjFmKjDhCiDhKiDeDiBfLiDiLiPiIjHjNiCkKiCmIiClDiCoKiCmEiClFiCnMiCkEiBeC_xHqqkZx_
//				return TRUE;
//			} else
//			if (iIndex == GetCount())
//			//----- _xZkqqHx_jCgMiCkKiDiKiDfIiDgHiNmFiMoDiCmMjCgMiCoGiCoIiCoAjBoFiCkLiCkCiPoKiNiH_xHqqkZx_ ----
//			{
//				// _xZkqqHx_iDhNiDeFiDfIiDhKiDeDiBfLiDiLiCkKjHeMiMpIiCmFiCkAiCoJiCmGjFnEiClHiClBiCmGiCmJiCoGiCmBiCmEiBeBiImIiMoDiCmMiDhKiDeDiBfLiDiLiPiIjHjNiCpAjAoCiCmCiBeC_xHqqkZx_
//				// FALSE _xZkqqHx_iCpAjFnEiClFiClNiPoKiNiHiBeBjFmKjDhCiDhKiDeDiBfLiDiLiPiIjHjNiCkKiCmIiClDiCoKiCmEiClFiCnMiCkEiBeC_xHqqkZx_
//				return TRUE;
//			} else
//			{
//				// _xZkqqHx_iIoKiCmCjBePiCmMiMpDjFoCiCpAjBeJjBpAiBeC_xHqqkZx_
//				SetCurSel(iIndex - 1);
//			}
//		} else
//		//----- _xZkqqHx_jAjEjCgMiCkKiMlIiCoJjFpLiMpMiCnGiDfIiDeOiDiNiBfLiDiLiCmMiPoKiNiH_xHqqkZx_ -----
//		{
//			// _xZkqqHx_jHoBiBeG_xHqqkZx_
//			// _xZkqqHx_iDfCiDjDiDhLiDhLiDgCiDeOiDfIiCmMiDiKiDfIiDgHiBeC_xHqqkZx_
//			// 10  --- A
//			// 20  --- B
//			// 30  --- C
//			// 30  --- D
//			// 30  --- E
//			// 40  --- F
//			// 50  --- G
//			//
//			// 5 _xZkqqHx_iCmMiPoKiNiH_xHqqkZx_ _xZkqqHx_iDhKiDeDiBfLiDiLjGlDiMpIiBeC_xHqqkZx_
//			// 30 _xZkqqHx_iCmMiPoKiNiH_xHqqkZx_ C _xZkqqHx_iCpAjBeJjBpAiClFiCmEiBeBiDhKiDeDiBfLiDiLiPiIjHjNiBeC_xHqqkZx_
//			// 35 _xZkqqHx_iCmMiPoKiNiH_xHqqkZx_ F _xZkqqHx_iCpAjBeJjBpAiClFiCmEiBeBiDhKiDeDiBfLiDiLiPiIjHjNiBeC_xHqqkZx_
//			// 40 _xZkqqHx_iCmMiPoKiNiH_xHqqkZx_ F _xZkqqHx_iCpAjBeJjBpAiClFiCmEiBeBiDhKiDeDiBfLiDiLiPiIjHjNiBeC_xHqqkZx_
//			// 50 _xZkqqHx_iCmMiPoKiNiH_xHqqkZx_ G _xZkqqHx_iCpAjBeJjBpAiClFiCmEiBeBiDhKiDeDiBfLiDiLiPiIjHjNiBeC_xHqqkZx_
//			// 55 _xZkqqHx_iCmMiPoKiNiH_xHqqkZx_ G _xZkqqHx_iCpAjBeJjBpAiClFiCmEiBeBjBeJjBpAiPiIjHjNiBeC_xHqqkZx_
//
//			int iIndex;
//			for (iIndex = 0; iIndex != GetCount(); iIndex++)
//			{
//				WString wLBText;
//				FFGetLBText(this, iIndex, wLBText);
//				double dLBValue = wcstod(wLBText, NULL);
//				if (almostlesseq(dValue, dLBValue)) break;
//			}
//			if (iIndex == 0)
//			//----- _xZkqqHx_jCgMiCkKiDiKiDfIiDgHiNmFiPiJiCmMjCgMiCoGiCoIiCoAiPkMiClDiCkCiPoKiNiH_xHqqkZx_ ----
//			{
//				// _xZkqqHx_iDhNiDeFiDfIiDhKiDeDiBfLiDiLiCkKjHeMiMpIiCmFiCkAiCoJiCmGjFnEiClHiClBiCmGiCmJiCoGiCmBiCmEiBeBiImIiMoDiCmMiDhKiDeDiBfLiDiLiPiIjHjNiCpAjAoCiCmCiBeC_xHqqkZx_
//				// FALSE _xZkqqHx_iCpAjFnEiClFiClNiPoKiNiHiBeBjFmKjDhCiDhKiDeDiBfLiDiLiPiIjHjNiCkKiCmIiClDiCoKiCmEiClFiCnMiCkEiBeC_xHqqkZx_
//				return TRUE;
//			} else
//			if (iIndex == GetCount())
//			//----- _xZkqqHx_jCgMiCkKiDiKiDfIiDgHiNmFiMoDiCmMjCgMiCoGiCoIiCoAjBoFiCkLiCkCiPoKiNiH_xHqqkZx_ ----
//			{
//				// _xZkqqHx_iDhKiDeDiBfLiDiLiPiIjHjNiCmNiNhDiCoNiClIiBeBiDeDiDjDiDgGiDgCiDeOiDfI_xHqqkZx_iIndex-1 _xZkqqHx_iCkKjBeJjBpAiClDiCoKiClNiPiIjHjNiCmMiCnNiNhDiCkEiBeC_xHqqkZx_
//				// _xZkqqHx_iDeDiDjDiDgGiDgCiDeOiDfIiCePiCpAjBeJjBpAiBeC_xHqqkZx_
//				SetCurSel(iIndex - 1);
//				// _xZkqqHx_jBeJjBpAiCkKjFmPiNfIiClDiCoKiClNiClBiCmGiCpAjCmKjCgNiClHiCoJiBeC_xHqqkZx_
//				if (GetParent() == NULL) return TRUE;
//				GetParent()->SendMessage(WM_COMMAND, MAKELONG(GetDlgCtrlID(), CBN_SELCHANGE),
//										(LPARAM)m_hWnd);
//				// _xZkqqHx_iDhNiDeFiDfIiDhKiDeDiBfLiDiLiCkKjHeMiMpIiCmFiCkAiCoJiCmGjFnEiClHiClBiCmGiCmJiCoGiCmBiCmEiBeBiImIiMoDiCmMiDhKiDeDiBfLiDiLiPiIjHjNiCpAjAoCiCmCiBeC_xHqqkZx_
//				// FALSE _xZkqqHx_iCpAjFnEiClFiClNiPoKiNiHiBeBjFmKjDhCiDhKiDeDiBfLiDiLiPiIjHjNiCkKiCmIiClDiCoKiCmEiClFiCnMiCkEiBeC_xHqqkZx_
//				return TRUE;
//			} else
//			{
//				// _xZkqqHx_iMpDjFoCiCpAjBeJjBpAiBeC_xHqqkZx_
//				SetCurSel(iIndex);
//			}
//		}
//	}
//	// Superclass_xZkqqHx_iKnGjAjEiOmAiNhDiBeC_xHqqkZx_
//	return BASE_CLASS::OnMouseWheel(nFlags, zDelta, pt);
//----- 06.11.29 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	if (m_bIsNumber)
	//---- _xZkqqHx_jAjEjCgMjHpBiCmMiPoKiNiH_xHqqkZx_ -----
	{
		//----- _xZkqqHx_iPlIiPiHiCkJiNhOiPiHiCkJiCpAjClCiCnHiCoJ_xHqqkZx_ -----
		WString wLBText;
		FFGetLBText(this, 0, wLBText);
		const double dLBValue0 = wcstod(wLBText, NULL);
		FFGetLBText(this, GetCount() - 1, wLBText);
		const double dLBValueN = wcstod(wLBText, NULL);
		const BOOL bIsAscending = (dLBValue0 < dLBValueN);

		// _xZkqqHx_jHoBiBeG_xHqqkZx_
		// _xZkqqHx_iDfCiDjDiDhLiDhLiDgCiDeOiDfIiCmMiDiKiDfIiDgHiBeC_xHqqkZx_
		// _xZkqqHx_jCgM_xHqqkZx_     idx  idx2
		//     ---      0
		// 10  --- 0    1
		//     ---      2
		// 20  --- 1    3
		//     ---      4
		// 30  --- 2    5
		//     ---      6
		// 40  --- 3    7
		//     ---      8
		// 50  --- 4    9
		//     ---      10

		// _xZkqqHx_jHoBiBeG_xHqqkZx_
		// _xZkqqHx_iDfCiDjDiDhLiDhLiDgCiDeOiDfIiCmMiDiKiDfIiDgHiBeC_xHqqkZx_
		// _xZkqqHx_jCgM_xHqqkZx_     idx  idx2
		//     ---      0
		// 50  --- 0    1
		//     ---      2
		// 40  --- 1    3
		//     ---      4
		// 30  --- 2    5
		//     ---      6
		// 20  --- 3    7
		//     ---      8
		// 10  --- 4    9
		//     ---      10

		WString wstrText;
		FFGetWindowText(this, wstrText);
		const double dValue = wcstod(wstrText, NULL);

		int idx;
		int idx2 = 2 * GetCount();
		for (idx = 0; idx != GetCount(); idx++)
		{
			WString wLBText;
			FFGetLBText(this, idx, wLBText);
			double dLBValue = wcstod(wLBText, NULL);
			if (abouteq(dLBValue, dValue))
			{
				idx2 = 2 * idx + 1;
				break;
			}
			if ((bIsAscending && dValue < dLBValue) ||
				(!bIsAscending && dLBValue < dValue))
			{
				idx2 = 2 * idx;
				break;
			}
		}
		if (zDelta < 0)
		//----- _xZkqqHx_iJlKjFpLiMpMiCnGiDfIiDeOiDiNiBfLiDiLiCmMiPoKiNiH_xHqqkZx_ -----
		{
			if (idx2 == 0)
			//----- _xZkqqHx_jCgMiCkKiDiKiDfIiDgHiNmFiPiJiCmMjCgMiCoGiCoIiCoAiPkMiClDiCkCiPoKiNiH_xHqqkZx_ ----
			{
				// _xZkqqHx_iDhKiDeDiBfLiDiLiPiIjHjNiCmNiNhDiCoNiClIiBeBiDeDiDjDiDgGiDgCiDeOiDfIiCePiCkKjBeJjBpAiClDiCoKiClNiPiIjHjNiCmMiCnNiNhDiCkEiBeC_xHqqkZx_
				// _xZkqqHx_iDeDiDjDiDgGiDgCiDeOiDfIiCePiCpAjBeJjBpAiBeC_xHqqkZx_
				SetCurSel(0);
				// _xZkqqHx_jBeJjBpAiCkKjFmPiNfIiClDiCoKiClNiClBiCmGiCpAjCmKjCgNiClHiCoJiBeC_xHqqkZx_
				if (GetParent() == NULL) return TRUE;
				GetParent()->SendMessage(WM_COMMAND, MAKELONG(GetDlgCtrlID(), CBN_SELCHANGE),
										(LPARAM)m_hWnd);
				// _xZkqqHx_iDhNiDeFiDfIiDhKiDeDiBfLiDiLiCkKjHeMiMpIiCmFiCkAiCoJiCmGjFnEiClHiClBiCmGiCmJiCoGiCmBiCmEiBeBiImIiMoDiCmMiDhKiDeDiBfLiDiLiPiIjHjNiCpAjAoCiCmCiBeC_xHqqkZx_
				// FALSE _xZkqqHx_iCpAjFnEiClFiClNiPoKiNiHiBeBjFmKjDhCiDhKiDeDiBfLiDiLiPiIjHjNiCkKiCmIiClDiCoKiCmEiClFiCnMiCkEiBeC_xHqqkZx_
				return TRUE;
			} else
			if (2 * GetCount() < idx2)
			//----- _xZkqqHx_jCgMiCkKiDiKiDfIiDgHiNmFiMoDiCmMjCgMiCoGiCoIiCoAjBoFiCkLiCkCiPoKiNiH_xHqqkZx_ ----
			{
				// _xZkqqHx_iDhNiDeFiDfIiDhKiDeDiBfLiDiLiCkKjHeMiMpIiCmFiCkAiCoJiCmGjFnEiClHiClBiCmGiCmJiCoGiCmBiCmEiBeBiImIiMoDiCmMiDhKiDeDiBfLiDiLiPiIjHjNiCpAjAoCiCmCiBeC_xHqqkZx_
				// FALSE _xZkqqHx_iCpAjFnEiClFiClNiPoKiNiHiBeBjFmKjDhCiDhKiDeDiBfLiDiLiPiIjHjNiCkKiCmIiClDiCoKiCmEiClFiCnMiCkEiBeC_xHqqkZx_
				return TRUE;
			} else
			{
				// BASE_CLASS::OnMouseWheel_xZkqqHx_iKnGjAjEiOmAiNhDiCmJiCoGiCmBiCmEiBeB_xHqqkZx_
				// _xZkqqHx_iIoKiCmCiJlKiCmMjBeJjBpAiCkKiNhDiCoNiCoKiCoJiBeC_xHqqkZx_
				// _xZkqqHx_iClBiClBiCmFiCmNiClLiCmMjBePiPiAjEpFiCmGiClFiCmEiBeBiIoKiCmCiPoDiCmMiMpDjFoCiCpAjBeJjBpAiClFiCmEiCkIiCkNiBeC_xHqqkZx_
				if (idx2 & 1)
				{
					// _xZkqqHx_iMlLiNnNiCmMiMpDjFoCiCpAjBeJjBpAiBeC_xHqqkZx_
					idx = (idx2 - 1) / 2;
				} else
				{
					// _xZkqqHx_jElMjFkKiCnJiCmHjBePiCmMiMpDjFoCiCpAjBeJjBpAiBeC_xHqqkZx_
					idx = (idx2 / 2) - 1;
				}
				SetCurSel(idx);
			}
		} else
		//----- _xZkqqHx_iPoDjFpLiMpMiCnGiDfIiDeOiDiNiBfLiDiLiCmMiPoKiNiH_xHqqkZx_ -----
		{
			if (idx2 == 0)
			//----- _xZkqqHx_jCgMiCkKiDiKiDfIiDgHiNmFiPiJiCmMjCgMiCoGiCoIiCoAiPkMiClDiCkCiPoKiNiH_xHqqkZx_ ----
			{
				// _xZkqqHx_iDhNiDeFiDfIiDhKiDeDiBfLiDiLiCkKjHeMiMpIiCmFiCkAiCoJiCmGjFnEiClHiClBiCmGiCmJiCoGiCmBiCmEiBeBiImIiMoDiCmMiDhKiDeDiBfLiDiLiPiIjHjNiCpAjAoCiCmCiBeC_xHqqkZx_
				// FALSE _xZkqqHx_iCpAjFnEiClFiClNiPoKiNiHiBeBjFmKjDhCiDhKiDeDiBfLiDiLiPiIjHjNiCkKiCmIiClDiCoKiCmEiClFiCnMiCkEiBeC_xHqqkZx_
				return TRUE;
			} else
			if (2 * GetCount() < idx2)
			//----- _xZkqqHx_jCgMiCkKiDiKiDfIiDgHiNmFiMoDiCmMjCgMiCoGiCoIiCoAjBoFiCkLiCkCiPoKiNiH_xHqqkZx_ ----
			{
				// _xZkqqHx_iDhKiDeDiBfLiDiLiPiIjHjNiCmNiNhDiCoNiClIiBeBiDeDiDjDiDgGiDgCiDeOiDfI_xHqqkZx_iIndex-1 _xZkqqHx_iCkKjBeJjBpAiClDiCoKiClNiPiIjHjNiCmMiCnNiNhDiCkEiBeC_xHqqkZx_
				// _xZkqqHx_iDeDiDjDiDgGiDgCiDeOiDfIiCePiCpAjBeJjBpAiBeC_xHqqkZx_
				SetCurSel(GetCount() - 1);
				// _xZkqqHx_jBeJjBpAiCkKjFmPiNfIiClDiCoKiClNiClBiCmGiCpAjCmKjCgNiClHiCoJiBeC_xHqqkZx_
				if (GetParent() == NULL) return TRUE;
				GetParent()->SendMessage(WM_COMMAND, MAKELONG(GetDlgCtrlID(), CBN_SELCHANGE),
										(LPARAM)m_hWnd);
				// _xZkqqHx_iDhNiDeFiDfIiDhKiDeDiBfLiDiLiCkKjHeMiMpIiCmFiCkAiCoJiCmGjFnEiClHiClBiCmGiCmJiCoGiCmBiCmEiBeBiImIiMoDiCmMiDhKiDeDiBfLiDiLiPiIjHjNiCpAjAoCiCmCiBeC_xHqqkZx_
				// FALSE _xZkqqHx_iCpAjFnEiClFiClNiPoKiNiHiBeBjFmKjDhCiDhKiDeDiBfLiDiLiPiIjHjNiCkKiCmIiClDiCoKiCmEiClFiCnMiCkEiBeC_xHqqkZx_
				return TRUE;
			} else
			{
				// BASE_CLASS::OnMouseWheel_xZkqqHx_iKnGjAjEiOmAiNhDiCmJiCoGiCmBiCmEiBeB_xHqqkZx_
				// _xZkqqHx_iIoKiCmCiPoDiCmMjBeJjBpAiCkKiNhDiCoNiCoKiCoJiBeC_xHqqkZx_
				// _xZkqqHx_iClBiClBiCmFiCmNiClLiCmMjBePiPiAjEpFiCmGiClFiCmEiBeBiIoKiCmCiJlKiCmMiMpDjFoCiCpAjBeJjBpAiClFiCmEiCkIiCkNiBeC_xHqqkZx_
				if (idx2 & 1)
				{
					// _xZkqqHx_iMlLiNnNiCmMiMpDjFoCiCpAjBeJjBpAiBeC_xHqqkZx_
					idx = (idx2 - 1) / 2;
				} else
				{
					// _xZkqqHx_jElMjFkKiCnJiCmHjBePiCmMiMpDjFoCiCpAjBeJjBpAiBeC_xHqqkZx_
					idx = idx2 / 2;
				}
				SetCurSel(idx);

			}
		}
	}
	// Baseclass_xZkqqHx_iKnGjAjEiOmAiNhDiBeC_xHqqkZx_
	return BASE_CLASS::OnMouseWheel(nFlags, zDelta, pt);
//----- 06.11.29 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // CFCCmbBoxOnKey::OnMouseWheel.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCCmbBoxOnKey::OnSetfocus
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iClBiCmMiDfCiDjDiDgHiDiNiBfLiDiLiCmJiDhEiDeIiBfLiDeKiDfIiCkKjDjGiClNiCmBiClNiCmGiCkLiCmJiOmAiNhDiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.04 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCCmbBoxOnKey::OnSetfocus ()
{
	// _xZkqqHx_iDeBiDeOiDfKiDiJiDiMiBfLiDfOiCpAjGlDiMpIiCmJiClHiCoJiBeCiClBiCkEiClFiCmIiCkCiCmGiBeB_xHqqkZx_BS/DEL_xZkqqHx_iCkKjHiIiCmIiCkCiBeC_xHqqkZx_
	// CBS_DROPDOWN _xZkqqHx_iCmG_xHqqkZx_ CBS_DROPDOWNLIST _xZkqqHx_iCmNiDhCiDgCiDgHiCpAiLkEjHeMiClHiCoJiClNiCnPiBeB_xHqqkZx_
	// _xZkqqHx_jHlMjFpLjClCiCnHiCoJjFeLjHhGiCkKiCkAiCoJiBeC_xHqqkZx_
	if ((GetStyle() & CBS_DROPDOWN) == CBS_DROPDOWN &&
		(GetStyle() & CBS_DROPDOWNLIST) != CBS_DROPDOWNLIST)
		FFGetMainWnd()->SetIgnoreAccelTable(TRUE);
} // CFCCmbBoxOnKey::OnSetfocus.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCCmbBoxOnKey::OnKillfocus
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iClBiCmMiDfCiDjDiDgHiDiNiBfLiDiLiCkJiCoHiDhEiDeIiBfLiDeKiDfIiCkKiKePiCoKiClNiCmGiCkLiCmJiOmAiNhDiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.04 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCCmbBoxOnKey::OnKillfocus ()
{
	// _xZkqqHx_iDeBiDeOiDfKiDiJiDiMiBfLiDfOiCpAjHeMiMpIiCmJjGnPiClHiBeC_xHqqkZx_
	// CBS_DROPDOWN _xZkqqHx_iCmG_xHqqkZx_ CBS_DROPDOWNLIST _xZkqqHx_iCmNiDhCiDgCiDgHiCpAiLkEjHeMiClHiCoJiClNiCnPiBeB_xHqqkZx_
	// _xZkqqHx_jHlMjFpLjClCiCnHiCoJjFeLjHhGiCkKiCkAiCoJiBeC_xHqqkZx_
	if ((GetStyle() & CBS_DROPDOWN) == CBS_DROPDOWN &&
		(GetStyle() & CBS_DROPDOWNLIST) != CBS_DROPDOWNLIST)
		FFGetMainWnd()->SetIgnoreAccelTable(FALSE);
} // CFCCmbBoxOnKey::OnKillfocus.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	myWindowProc
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiDeFiDeCiDjDiDgIiDeFiCmMiDeFiDeCiDjDiDgIiDeFiDhGiDiNiDfGiDfHiDiDiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.15 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
LRESULT CALLBACK CFCCmbBoxOnKey::myWindowProc (	HWND hwnd,
												UINT uMsg,
												WPARAM wParam,
												LPARAM lParam)
{
	// _xZkqqHx_iDiKiDfIiDgHiDeFiDeCiDjDiDgIiDeFiCkJiCoHiDfCiDjDiDhLiDhLiDgCiDeOiDfIiCpAiOoGjDlOiBeC_xHqqkZx_
	map<HWND, CFCCmbBoxOnKey*>::const_iterator i = s_mpListWndToCmbBox.find(hwnd);
	ASSERT(i != s_mpListWndToCmbBox.end());
	// _xZkqqHx_iDfCiDjDiDhLiDhLiDgCiDeOiDfIiCmMiDiBiDjDiDgPjFmPjAjEiCpAiOmAiNhDiBeC_xHqqkZx_
	LRESULT result = (*i).second->ListMessageProc(uMsg, wParam, lParam);
	if (result != 0)
		return result;
	else
		return CallWindowProc(	(*i).second->m_procList,
								hwnd,
								uMsg,
								wParam,
								lParam);
} // CFCCmbBoxOnKey::myWindowProc.

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

//----- 06.03.16 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	// _xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiCmMiDfOiBfLiDfBiDgCiDgHiCmJjDgPjIfOiBeC_xHqqkZx_
	FFGetApp()->RegisterPopHintTarget(m_hWnd);
//----- 06.03.16 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----

	if (m_procList == NULL)
	//----- _xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiCmMiDeFiDeCiDjDiDgIiDeFiDhGiDiNiDfGiDfHiDiDiCkKjAnNjCoIiClDiCoKiCmEiCkCiCmIiCkCiPoKiNiH_xHqqkZx_ -----
	{
		// _xZkqqHx_iDfCiDjDiDhLiDhLiDgCiDeOiDfIiCmMiDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiCmMiDeFiDeCiDjDiDgIiDeFiCpAiOoGjDlOiClHiCoJiBeC_xHqqkZx_
		// _xZkqqHx_jCiNiInDiBeG_xHqqkZx_
		// GetComboBoxInfo_xZkqqHx_iKnGjAjEiCmNiBeB_xHqqkZx_Windows98_xZkqqHx_iImIiNhOiCmFiCmIiCkCiCmGjDkOiNoMiClFiCmIiCkCiBeC_xHqqkZx_
		COMBOBOXINFO cbi;
		memset(&cbi, 0, sizeof(cbi));
		cbi.cbSize = sizeof(cbi);
		if (::GetComboBoxInfo(m_hWnd, &cbi))
		//----- _xZkqqHx_iDfCiDjDiDhLiDhLiDgCiDeOiDfIiPoOjFpBiCkKiOoGjDlOiCmFiCkLiClNiPoKiNiH_xHqqkZx_ -----
		{
			if (cbi.hwndList != NULL)
			//----- _xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiCmMiDeFiDeCiDjDiDgIiDeFiDgOiDjDiDgIiDiLiCkKiOoGjDlOiCmFiCkLiClNiPoKiNiH_xHqqkZx_ -----
			{
				// _xZkqqHx_iDiKiDfIiDgHiDeFiDeCiDjDiDgIiDeF_xHqqkZx_->_xZkqqHx_iDfCiDjDiDhLiDhLiDgCiDeOiDfIjFmPjAjEiCpAjAnNjCoIiBeC_xHqqkZx_
				s_mpListWndToCmbBox[cbi.hwndList] = this;
				// _xZkqqHx_iDeFiDeCiDjDiDgIiDeFiDhGiDiNiDfGiDfHiDiDiCpAjDpMiCoKjBnGiCkGiCoJiBeC_xHqqkZx_
				m_procList = WNDPROC(GetWindowLong(cbi.hwndList, GWL_WNDPROC));
				// _xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiDeFiDeCiDjDiDgIiDeFiBeC_xHqqkZx_
				m_hwndList = cbi.hwndList;
				SetWindowLong(cbi.hwndList, GWL_WNDPROC, long(myWindowProc));
//----- 06.03.16 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
				// _xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiCmMiDfOiBfLiDfBiDgCiDgHiCmJjDgPjIfOiBeC_xHqqkZx_
				FFGetApp()->RegisterPopHintTarget(m_hwndList);
//----- 06.03.16 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
			}
		}
	}
	return 0;
} // CFCCmbBoxOnKey::OnCreate.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCCmbBoxOnKey::OnDestroy
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDeFiDeCiDjDiDgIiDeFiNoNiPjMiOjOiCmJiOmAiNhDiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.03.16 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCCmbBoxOnKey::OnDestroy ()
{
//----- 06.03.16 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	// _xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiCmMiDfOiBfLiDfBiDgCiDgHiCkJiCoHjDgPjIfOiJpAiPjMiBeC_xHqqkZx_
	FFGetApp()->UnregisterPopHintTarget(m_hWnd);
	// _xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiCpAiDhMiDgCiDhGiDhBiDjDiDgHiCmMiDfOiBfLiDfBiDgCiDgHiCkJiCoHjDgPjIfOiJpAiPjMiBeC_xHqqkZx_
	if (m_hwndList != NULL)
		FFGetApp()->UnregisterPopHintTarget(m_hwndList);
//----- 06.03.16 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
	BASE_CLASS::OnDestroy();
} // CFCCmbBoxOnKey::OnDestroy.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCCmbBoxOnKey::PreSubclassWindow
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	SubclassWindow_xZkqqHx_iKnGjAjEiCmMiPiIjHjNjClMjBePiCmJiOmAiNhDiClDiCoKiCoJiBeC_xHqqkZx_SubclassWindow_xZkqqHx_iKnGjAjEiCmN_xHqqkZx_
 *			DDX_Control_xZkqqHx_iCmJiCoGiCmBiCmEiOmAiNhDiClDiCoKiCoJiClNiCnPiBeBiDfPiDeDiDeBiDiNiDePiCmFiCmMjDkOjDeJiKiEiCoIjDjGiCmE_xHqqkZx_
 *			_xZkqqHx_iCmMiCmGiCkLiCmJ_xHqqkZx_OnCreate_xZkqqHx_iCmMjBoDiCoNiCoIiCmJiPiJiKpKiJlLiPiIjHjNiCpAiNhDiCkEiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.18 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CFCCmbBoxOnKey::PreSubclassWindow ()
{
	TRACE(_T("CFCCmbBoxOnKey::PreSubclassWindow\n"));
	if (m_procList == NULL)
	//----- _xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiCmMiDeFiDeCiDjDiDgIiDeFiDhGiDiNiDfGiDfHiDiDiCkKjAnNjCoIiClDiCoKiCmEiCkCiCmIiCkCiPoKiNiH_xHqqkZx_ -----
	{
//----- 06.03.16 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
		// _xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiCmMiDfOiBfLiDfBiDgCiDgHiCmJjDgPjIfOiBeC_xHqqkZx_
		FFGetApp()->RegisterPopHintTarget(m_hWnd);
//----- 06.03.16 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----

		// _xZkqqHx_iDfCiDjDiDhLiDhLiDgCiDeOiDfIiCmMiDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiCmMiDeFiDeCiDjDiDgIiDeFiCpAiOoGjDlOiClHiCoJiBeC_xHqqkZx_
		// _xZkqqHx_jCiNiInDiBeG_xHqqkZx_
		// GetComboBoxInfo_xZkqqHx_iKnGjAjEiCmNiBeB_xHqqkZx_Windows98_xZkqqHx_iImIiNhOiCmFiCmIiCkCiCmGjDkOiNoMiClFiCmIiCkCiBeC_xHqqkZx_
		COMBOBOXINFO cbi;
		memset(&cbi, 0, sizeof(cbi));
		cbi.cbSize = sizeof(cbi);
		if (::GetComboBoxInfo(m_hWnd, &cbi))
		//----- _xZkqqHx_iDfCiDjDiDhLiDhLiDgCiDeOiDfIiPoOjFpBiCkKiOoGjDlOiCmFiCkLiClNiPoKiNiH_xHqqkZx_ -----
		{
			if (cbi.hwndList != NULL)
			//----- _xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiCmMiDeFiDeCiDjDiDgIiDeFiDgOiDjDiDgIiDiLiCkKiOoGjDlOiCmFiCkLiClNiPoKiNiH_xHqqkZx_ -----
			{
				// _xZkqqHx_iDiKiDfIiDgHiDeFiDeCiDjDiDgIiDeF_xHqqkZx_->_xZkqqHx_iDfCiDjDiDhLiDhLiDgCiDeOiDfIjFmPjAjEiCpAjAnNjCoIiBeC_xHqqkZx_
				s_mpListWndToCmbBox[cbi.hwndList] = this;
				// _xZkqqHx_iDeFiDeCiDjDiDgIiDeFiDhGiDiNiDfGiDfHiDiDiCpAjDpMiCoKjBnGiCkGiCoJiBeC_xHqqkZx_
				m_procList = WNDPROC(GetWindowLong(cbi.hwndList, GWL_WNDPROC));
				// _xZkqqHx_iDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiDeFiDeCiDjDiDgIiDeFiBeC_xHqqkZx_
				m_hwndList = cbi.hwndList;
				SetWindowLong(cbi.hwndList, GWL_WNDPROC, long(myWindowProc));
//----- 06.03.16 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
				// _xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiCmMiDfOiBfLiDfBiDgCiDgHiCmJjDgPjIfOiBeC_xHqqkZx_
				FFGetApp()->RegisterPopHintTarget(m_hwndList);
//----- 06.03.16 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
			}
		}
	}

	// Baseclass_xZkqqHx_iKnGjAjEiOmAiNhDiBeC_xHqqkZx_
	CComboBox::PreSubclassWindow();
} // CFCCmbBoxOnKey::PreSubclassWindow.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CFCCmbBoxOnKey::OnUserPursuerTextNeedInfo
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiCkKiDhBiDjDiDgHiPoOjFpBiCmMjAnNjCoIiCpAjHhGiLiBiClHiCoJiNnLiCmJiOmAiNhDiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	wParam	:_xZkqqHx_iDhNiDeFiDfIiImKjChFiCmMiDeFiDeCiDjDiDgIiDeFiDgOiDjDiDgIiDiLiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jCiNiInD_xHqqkZx_>	_xZkqqHx_jFeLiClIiBeB_xHqqkZx_GetCursorPos_xZkqqHx_iKnGjAjEiCmFiDhNiDeFiDfIiImKjChFiCpAiOoGjDlOiClHiCoJiClBiCmGiBeC_xHqqkZx_
 *			_xZkqqHx_iDhNiDeFiDfIiNmAjFfHiCkK_xHqqkZx_WM_MOUSEMOVE_xZkqqHx_iCmJjHiKiCmBiCmEiCkCiCoJiCmGiBeBiDiBiDgKiDiFiBfLjFfMiOkGiOjOiCmIiCmHiCmJ_xHqqkZx_
 *			_xZkqqHx_iDhNiDeFiDfIiImKjChFiCkKiMlLiNnNiCmMiImKjChFiCmGjAeIiCkCiIoBiCmBiCmEiCkCiCoJiPoKiNiHiCkKiCkAiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_jCmHjAnFiDhBiDjDiDgHiCmNiBeBiDhNiDeFiDfIiImKjChFiCmMiDeFiDeCiDjDiDgIiDeFiCpAjClCiCnHiBeBiCnMiClIiClLiCmMiDeFiDeCiDjDiDgIiDeFiCnG_xHqqkZx_
 *			WM_USER_PURSUER_TEXT_NEED_INFO_xZkqqHx_iDiBiDgCiDfKiBfLiDfHiCpA_xHqqkZx_SendMessage_xZkqqHx_iCmFjBjHjFhEiClHiCoJiBeC_xHqqkZx_
 *			_xZkqqHx_iDiBiDgCiDfKiBfLiDfHjGnPiCoIjCgMiCkKiCePiCmMiPoKiNiHiCmNiBeBiClLiCmMiDeFiDeCiDjDiDgIiDeFiCmMjAgFiDeFiDeCiDjDiDgIiDeFiCnG_xHqqkZx_
 *			_xZkqqHx_iDiBiDgCiDfKiBfLiDfHiCpAjBjHjFhEiClHiCoJiBeC_xHqqkZx_
 *			_xZkqqHx_jGnPiCoIjCgMiCkKiCePiImIiKePiCmFiCkAiCoJiCkJjAgFiDeFiDeCiDjDiDgIiDeFiCkKjGlDiCkNiCmIiCoJiCnMiCmFiClBiCoKiCpAiMeKiCoIjFnEiClHiBeC_xHqqkZx_
 *			wParam _xZkqqHx_iCmJiCmNiBeBiNmFiPiJiCmJiDiBiDgCiDfKiBfLiDfHiCpAjBjHjFhEiClFiClNiDeFiDeCiDjDiDgIiDeFiCkKiOhHjCoIiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.03.16 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
LRESULT CFCCmbBoxOnKey::OnUserPursuerTextNeedInfo (WPARAM wParam, LPARAM)
{
	// _xZkqqHx_iDfCiDjDiDhLiDhLiDgCiDeOiDfIiCmMiDhGiDiLiDfPiDeFiDjDiDiKiDfIiDgHiCmMiDeFiDeCiDjDiDgIiDeFiCpAiOoGjDlOiClHiCoJiBeC_xHqqkZx_
	// _xZkqqHx_jCiNiInDiBeG_xHqqkZx_
	// GetComboBoxInfo_xZkqqHx_iKnGjAjEiCmNiBeB_xHqqkZx_Windows98_xZkqqHx_iImIiNhOiCmFiCmIiCkCiCmGjDkOiNoMiClFiCmIiCkCiBeC_xHqqkZx_
	COMBOBOXINFO cbi;
	memset(&cbi, 0, sizeof(cbi));
	cbi.cbSize = sizeof(cbi);
	if (::GetComboBoxInfo(m_hWnd, &cbi))
	//----- _xZkqqHx_iDfCiDjDiDhLiDhLiDgCiDeOiDfIiPoOjFpBiCkKiOoGjDlOiCmFiCkLiClNiPoKiNiH_xHqqkZx_ -----
	{
		// _xZkqqHx_iDhNiDeFiDfIiDeKiBfLiDfMiDiLiCmMiMlLiNnNiCmMiImKjChFiCpAiOoGjDlOiBeC_xHqqkZx_
		CPoint ptMouse;
		(void)::GetCursorPos(&ptMouse);
		ScreenToClient(&ptMouse);
		if (CRect(cbi.rcItem).PtInRect(ptMouse))
		//----- _xZkqqHx_iDeBiDeDiDgFiDiAjHmMiIoGiCmJiCkAiCoJiPoKiNiH_xHqqkZx_ -----
		{
			WString wstrHintText;
			if (OnItemPursuerTextNeedInfo(wstrHintText))
			//----- _xZkqqHx_iDeBiDeDiDgFiDiAiCmMiDhBiDjDiDgHiCkKjDlOiCoHiCoKiClNiPoKiNiH_xHqqkZx_ -----
			{
				FFGetApp()->GetPopHint()->SetTargetInfo(wstrHintText);
				return 1;
			}
		}
	}
	return 0;
} // CFCCmbBoxOnKey::OnUserPursuerTextNeedInfo.

