#define		CTRL_LINEEDIT		TEXT("LINEEDIT")
#define		CTRL_TIMEEDIT		TEXT("TIMEEDIT")
#define		CTRL_BIGLIST		TEXT("BIGLIST")
#define		CTRL_LABEL			TEXT("KLABEL")
#define		CTRL_FILEVIEW		TEXT("FILEVIEW")
#define		CTRL_MEMVIEW		TEXT("MEMVIEW")

#define		RBM_GETSJIS			(WM_USER+0x100)
#define		RBM_SETSJIS			(WM_USER+0x101)
#define		RBM_GETMODIFY		(WM_USER+0x102)
#define		RBM_SETMODIFY		(WM_USER+0x103)
#define		RBN_ENTER			0x0100
#define		RBN_ESC				0x0101
#define		RBN_TAB				0x0102
#define		RBN_STAB			0x0103
#define		RBN_CHANGE			0x0104
#define		RBN_KEYDOWN			0x0105
#define		RBN_KILLFOCUS		0x0106

#define		TEM_GETTIMEVAL		(WM_USER+0x100)
#define		TEM_SETTIMEVAL		(WM_USER+0x101)
#define		TEM_GETMODIFY		(WM_USER+0x102)
#define		TEM_SETMODIFY		(WM_USER+0x103)
#define		TEN_ENTER			0x0100
#define		TEN_ESC				0x0101
#define		TEN_TAB				0x0102
#define		TEN_STAB			0x0103
#define		TEN_CHANGE			0x0104
#define		TEN_KEYDOWN			0x0105
#define		TEN_KILLFOCUS		0x0106

#define		BLM_SETPROC			(WM_USER+0x100)
#define		BLM_SETSPACEPROC	(WM_USER+0x101)
#define		BLM_GETCURSEL		(WM_USER+0x102)
#define		BLM_SETCURSEL		(WM_USER+0x103)
#define		BLM_SETKEYMASK		(WM_USER+0x104)
#define		BLM_SETDBLCLK		(WM_USER+0x105)
#define		BLM_REDRAWLINE		(WM_USER+0x106)
#define		BLM_GETMAXLINE		(WM_USER+0x110)
#define		BLM_GETMAXCOL		(WM_USER+0x111)
#define		BLM_FINDSTRING		(WM_USER+0x112)
#define		BLM_SETFONT			(WM_USER+0x113)
#define		BLN_ENTER			0x0100
#define		BLN_ESC				0x0101
#define		BLN_TAB				0x0102
#define		BLN_STAB			0x0103
#define		BLN_CHANGE			0x0104
#define		BLN_CHAR			0x0105
#define		BLN_KEYDOWN			0x0200

#define		BL_MASK_RETURN		0x0001
#define		BL_MASK_ESCAPE		0x0002
#define		BL_MASK_TAB			0x0004
#define		BL_MASK_HOME		0x0008
#define		BL_MASK_END			0x0010
#define		BL_MASK_UP			0x0020
#define		BL_MASK_DOWN		0x0040
#define		BL_MASK_LEFT		0x0080
#define		BL_MASK_PRIOR		0x0100
#define		BL_MASK_RIGHT		0x0200
#define		BL_MASK_NEXT		0x0400

#define		LAM_SETINVERT		(WM_USER+0x100)
#define		LAM_SETCROSS		(WM_USER+0x101)
#define		LAN_CLICK			0x100

/* CTRL_LINEEDIT関係メッセージ */
#define		LEN_ENTER			0x0100
#define		LEN_TAB				0x0102
#define		LEN_STAB			0x0103
#define		LEN_CHANGE			0x0104
#define		LEN_KEYDOWN			0x0105
#define		LEN_KILLFOCUS		0x0106
#define		LEN_GOTFOCUS		0x0107

/* CTRL_FILEVIEW関係 */
enum {
	FV_FUNC_NONE = 0,
	FV_FUNC_ENTER, FV_FUNC_ESC,
	FV_FUNC_UP, FV_FUNC_DOWN, FV_FUNC_PRIOR, FV_FUNC_NEXT,
	FV_FUNC_HOME, FV_FUNC_END,
	FV_FUNC_FIND,
} ;

typedef struct {
	WORD		keyCode ;
	BYTE		keyMode ;
	WORD		functionID ;
} KeyMapInfo, *LPKeyMapInfo ;

#define		FVM_CLEAR			(WM_USER+0x100)
#define		FVM_LOAD			(WM_USER+0x101)
#define		FVM_RELOAD			(WM_USER+0x102)
#define		FVM_OPEN			(WM_USER+0x103)
#define		FVM_CLOSE			(WM_USER+0x104)
#define		FVM_GETTOPLINE		(WM_USER+0x105)
#define		FVM_SETTOPLINE		(WM_USER+0x106)
#define		FVM_GETTOPPOS		(WM_USER+0x107)
#define		FVM_SETTOPPOS		(WM_USER+0x108)
#define		FVM_GETMAXLINE		(WM_USER+0x110)
#define		FVM_FINDSTRING		(WM_USER+0x112)
#define		FVM_SETTAB			(WM_USER+0x114)
#define		FVM_SETHMARGIN		(WM_USER+0x115)
#define		FVM_SETKEYMAP		(WM_USER+0x116)
#define		FVN_ENTER			0x0100
#define		FVN_ESC				0x0101
#define		FVN_TAB				0x0102
#define		FVN_STAB			0x0103
#define		FVN_CHANGE			0x0104
#define		FVN_CHAR			0x0105
#define		FVN_KEYDOWN			0x0200

#define		FV_MASK_RETURN		0x0001
#define		FV_MASK_ESCAPE		0x0002
#define		FV_MASK_TAB			0x0004
#define		FV_MASK_HOME		0x0008
#define		FV_MASK_END			0x0010
#define		FV_MASK_UP			0x0020
#define		FV_MASK_DOWN		0x0040
#define		FV_MASK_LEFT		0x0080
#define		FV_MASK_PRIOR		0x0100
#define		FV_MASK_RIGHT		0x0200
#define		FV_MASK_NEXT		0x0400

/* CTRL_MEMVIEW関係 */
enum {
	MV_FUNC_NONE = 0,
	MV_FUNC_ENTER, MV_FUNC_ESC,
	MV_FUNC_UP, MV_FUNC_DOWN, MV_FUNC_PRIOR, MV_FUNC_NEXT,
	MV_FUNC_HOME, MV_FUNC_END,
	MV_FUNC_FIND,
	MV_FUNC_CHAR = 0x100,
	MV_FUNC_MASK = 0xF00,
} ;

#define		MVM_SETBUFFER		(WM_USER+0x100)
#define		MVM_GETTOPLINE		(WM_USER+0x101)
#define		MVM_SETTOPLINE		(WM_USER+0x102)
#define		MVM_GETTOPPOS		(WM_USER+0x103)
#define		MVM_SETTOPPOS		(WM_USER+0x104)
#define		MVM_GETMAXLINE		(WM_USER+0x110)
#define		MVM_GETMAXCOL		(WM_USER+0x111)
#define		MVM_FINDSTRING		(WM_USER+0x112)
#define		MVM_SETFONT			(WM_USER+0x113)
#define		MVM_SETTAB			(WM_USER+0x114)
#define		MVM_SETHMARGIN		(WM_USER+0x115)
#define		MVM_SETKEYMAP		(WM_USER+0x116)
#define		MVM_SCROLLDOWN		(WM_USER+0x120)
#define		MVM_SCROLLUP		(WM_USER+0x121)
#define		MVM_PAGEDOWN		(WM_USER+0x122)
#define		MVM_PAGEUP			(WM_USER+0x123)
#define		MVM_SETEOFCHAR		(WM_USER+0x124)
#define		MVM_GETNUMLINE		(WM_USER+0x125)
#define		MVN_ENTER			0x0100
#define		MVN_ESC				0x0101
#define		MVN_TAB				0x0102
#define		MVN_STAB			0x0103
#define		MVN_CHANGE			0x0104
#define		MVN_CHAR			0x0105
#define		MVN_KEYDOWN			0x0200

#define		MV_MASK_RETURN		0x0001
#define		MV_MASK_ESCAPE		0x0002
#define		MV_MASK_TAB			0x0004
#define		MV_MASK_HOME		0x0008
#define		MV_MASK_END			0x0010
#define		MV_MASK_UP			0x0020
#define		MV_MASK_DOWN		0x0040
#define		MV_MASK_LEFT		0x0080
#define		MV_MASK_PRIOR		0x0100
#define		MV_MASK_RIGHT		0x0200
#define		MV_MASK_NEXT		0x0400

#define		IDM_FEPOK			(41260)
#define		IDM_FEPACTIVE		(41261)
#define		IDM_FEPKEY			(41262)

extern "C" {
	BOOL	LineEditRegisterClass( HINSTANCE hInst ) ;
	BOOL	BigListRegisterClass( HINSTANCE hInst ) ;
	BOOL	LabelRegisterClass( HINSTANCE hInst ) ;
	BOOL	TimeEditRegisterClass( HINSTANCE hInst ) ;
	BOOL	FileViewRegisterClass( HINSTANCE hInst ) ;
	BOOL	MemViewRegisterClass( HINSTANCE hInst ) ;
	void	ShowSIP( BOOL bShow ) ;
} ;
