#ifndef __CmbBase_h
#define __CmbBase_h

// CmbBase.h : _xZkqqHx_iDhHiDgCiDfPiBfL_xHqqkZx_ _xZkqqHx_iDhEiDeAiDeDiDiL_xHqqkZx_
//

#include "CmbBoxOnKey.h"		// Superclass.

#ifdef SUPER_CLASS
#undef SUPER_CLASS
#endif
#define SUPER_CLASS CFCCmbBoxOnKey


#define CBBN_SELCHANGE	(CBN_SELENDCANCEL + 10)
#define CBBN_EDITCHANGE	(CBN_SELENDCANCEL + 11)
#define CBBN_CLOSEUP	(CBN_SELENDCANCEL + 12)

#define FD_CBKY_DETAIL		L'D'
#define FD_CBKY_NOCHANGE	L'X'
#define FD_CBKY_NOUSE		L'S'

/////////////////////////////////////////////////////////////////////////////
// CFCCmbBase _xZkqqHx_iDeFiDeCiDjDiDgIiDeF_xHqqkZx_

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

protected:
	DECLARE_DYNCREATE(CFCCmbBase)

// _xZkqqHx_iDfCiDjDiDfIiDgHiDiJiDeOiDfGiDiHiDjDiBeC_xHqqkZx_
public:
	CFCCmbBase ();

// _xZkqqHx_iDiGiBfLiDfFiDfCiDjDiDfIiDgHiDiJiDeOiDfGiDiHiDjDiBeC_xHqqkZx_
protected:
	CFCCmbBase (BOOL bIsDetail);

// _xZkqqHx_iLkEjCmKiDiGiBfLiDfFiDeJiDhJiDiMiBfLiDfGiDiHiDjDiBeC_xHqqkZx_
public:
// 05.06.20 Fukushiro M. 1_xZkqqHx_iNhDjCmHiJmB_xHqqkZx_ ()
	virtual void	SetIsDetail (BOOL bIsDetail);
	virtual void	UpdateItem ();

// _xZkqqHx_iDiGiBfLiDfFiKnGjAjEiBeC_xHqqkZx_
public:
	virtual void	SetItems ();
	virtual void	DrawItemSub (DWORD dwID, UINT wItem, COLORREF col, CRect& rBox, BOOL bIsDropped, CDC* pDC);
	virtual long	KeyToIndex (_TCHAR tcKey) const;
	virtual void	SelectOthers ();
	virtual void	SelChanged ();
	virtual void	EditChanged ();
	virtual int		SetItemHeight (UINT cyItemHeight);

protected:
	virtual int		GetCount () const;
	virtual void	SetCurSel (int iIndex);
	virtual int		GetCurSel () const;
	virtual DWORD	GetItemData (int nIndex) const;
	virtual int		SetItemData (int nIndex, DWORD dwItemData);

	virtual int		AddString (LPCTSTR lpszString);
	virtual int		InsertString (int nIndex, LPCTSTR lpszString);
	virtual int		DeleteString (UINT nIndex);
	virtual void	ResetContent ();

// _xZkqqHx_iDiGiBfLiDfFjFmPjAjEiBeC_xHqqkZx_
protected:
	BOOL	m_bDrawDetail;
	BOOL	m_bIsDetail;

// _xZkqqHx_iDeBiDgHiDiKiDhCiDiFiBfLiDgH_xHqqkZx_
public:

// _xZkqqHx_iDeJiDhJiDiMiBfLiDfGiDiHiDjD_xHqqkZx_
public:

// _xZkqqHx_iDeJiBfLiDgPiBfLiDiJiDeDiDgI_xHqqkZx_
	// ClassWizard _xZkqqHx_iCmNiJlMjBhKiKnGjAjEiCpAjAlGjAkMiClFiDeJiBfLiDgPiBfLiDiJiDeDiDgIiClFiCnMiClHiBeC_xHqqkZx_
	//{{AFX_VIRTUAL(CFCCmbBase)
	public:
	virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
	//}}AFX_VIRTUAL

// _xZkqqHx_iDeDiDjDiDhGiDiKiDiBiDjDiDgFiBfLiDfGiDiHiDjD_xHqqkZx_
public:
	virtual ~CFCCmbBase();
	virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMIS);

	// _xZkqqHx_jAlGjAkMiClDiCoKiClNiDiBiDgCiDfKiBfLiDfH_xHqqkZx_ _xZkqqHx_iDhNiDgCiDhGiKnGjAjE_xHqqkZx_
protected:
	//{{AFX_MSG(CFCCmbBase)
	afx_msg void OnCloseup();
	afx_msg void OnDropdown();
	afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
	afx_msg void OnSetfocus();
	afx_msg void OnEditchange();
	afx_msg void OnSelchange();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
}; // class CFCCmbBase.

/////////////////////////////////////////////////////////////////////////////

#endif//__CmbBase_h
