//////////////////////////////////////////
// User.h
// クラスを使わない関数等は自分で書きます
//////////////////////////////////////////
//----------------
// グローバル変数
//----------------
char g_SkeltonWizard[MAX_PATH];	//SkeltonWizardへのパス、ファイル名
char g_BCCMaker[MAX_PATH];		//BCCMakerへのパス、ファイル名
bool g_BusyCol = FALSE;			//Editクラスの文字色付け作業中（TRUE）を示す
char g_FileName[MAX_PATH];		//読み込みファイルネーム用ポインター

//----------------------------------------------------
// IDD_SETUPで使用されるリッチエディットのシステム変数
//----------------------------------------------------
char g_FontName[MAX_PATH];	//初期値"ＭＳ 明朝"
int g_FontSize;				//初期値10ポイント
int g_TabNum = 4;							//初期値4桁

//--------------------------------
// メニュー、ツールバー状態の変更
//--------------------------------
void ChangeMenuStatus(bool EnableFlag) {

	HMENU hMenu = GetMenu(BCFEditor.GetHandle());	//メニューハンドルの取得

	//メニューバー
	EnableMenuItem(hMenu, 1, MF_BYPOSITION | (EnableFlag ? MF_ENABLED : MF_GRAYED));
	EnableMenuItem(hMenu, 2, MF_BYPOSITION | (EnableFlag ? MF_ENABLED : MF_GRAYED));
	EnableMenuItem(hMenu, 3, MF_BYPOSITION | (EnableFlag ? MF_ENABLED : MF_GRAYED));

	HMENU hFileMenu;
	hFileMenu = GetSubMenu(hMenu, 0);
	EnableMenuItem(hFileMenu, IDM_SAVE, MF_BYCOMMAND | (EnableFlag ? MF_ENABLED : MF_GRAYED));
	EnableMenuItem(hFileMenu, IDM_SAVEAS, MF_BYCOMMAND | (EnableFlag ? MF_ENABLED : MF_GRAYED));
	EnableMenuItem(hFileMenu, IDM_SETPRINT, MF_BYCOMMAND | (EnableFlag ? MF_ENABLED : MF_GRAYED));
	EnableMenuItem(hFileMenu, IDM_PRINT, MF_BYCOMMAND | (EnableFlag ? MF_ENABLED : MF_GRAYED));
	DrawMenuBar(BCFEditor.GetHandle());	//Re-draw "&File" menu

	//ツールバー(MAKELONGマクロは16bit整数2つをunsigned 32bit整数にする)
	SendMessage(TBar.GetHandle(), TB_ENABLEBUTTON, IDM_SAVE, MAKELONG(EnableFlag, 0));
	SendMessage(TBar.GetHandle(), TB_ENABLEBUTTON, IDM_PRINT, MAKELONG(EnableFlag, 0));
	SendMessage(TBar.GetHandle(), TB_ENABLEBUTTON, IDM_UNDO, MAKELONG(EnableFlag, 0));
	SendMessage(TBar.GetHandle(), TB_ENABLEBUTTON, IDM_REDO, MAKELONG(EnableFlag, 0));
	SendMessage(TBar.GetHandle(), TB_ENABLEBUTTON, IDM_CUT, MAKELONG(EnableFlag, 0));
	SendMessage(TBar.GetHandle(), TB_ENABLEBUTTON, IDM_COPY, MAKELONG(EnableFlag, 0));
	SendMessage(TBar.GetHandle(), TB_ENABLEBUTTON, IDM_PASTE, MAKELONG(EnableFlag, 0));
	SendMessage(TBar.GetHandle(), TB_ENABLEBUTTON, IDM_FIND, MAKELONG(EnableFlag, 0));
	SendMessage(TBar.GetHandle(), TB_ENABLEBUTTON, IDM_REPLACE, MAKELONG(EnableFlag, 0));
	SendMessage(TBar.GetHandle(), TB_ENABLEBUTTON, IDM_JUMP, MAKELONG(EnableFlag, 0));
	SendMessage(TBar.GetHandle(), TB_ENABLEBUTTON, IDM_SET, MAKELONG(EnableFlag, 0));
	SendMessage(TBar.GetHandle(), TB_ENABLEBUTTON, IDM_SKELTON, MAKELONG(EnableFlag, 0));
	SendMessage(TBar.GetHandle(), TB_ENABLEBUTTON, IDM_MAKE, MAKELONG(EnableFlag, 0));
}

//---------------------
// BCFHelper状態の変更
//---------------------
void ChangeBCFHelperStatus(bool EnableFlag) {	//TRUE - ON, FALSE - OFF

	HMENU hMenu = GetMenu(BCFEditor.GetHandle());	//メニューハンドルの取得

	//メニューバー
	HMENU hFileMenu;
	hFileMenu = GetSubMenu(hMenu, 1);
	EnableMenuItem(hFileMenu, IDM_DIALOGON, MF_BYCOMMAND | (EnableFlag ? MF_ENABLED : MF_GRAYED));
	EnableMenuItem(hFileMenu, IDM_DIALOGOFF, MF_BYCOMMAND | (EnableFlag ? MF_GRAYED : MF_ENABLED));

	//ツールバー(MAKELONGマクロは16bit整数2つをunsigned 32bit整数にする)
	SendMessage(TBar.GetHandle(), TB_ENABLEBUTTON, IDM_DIALOGON, MAKELONG(EnableFlag, 0));
	SendMessage(TBar.GetHandle(), TB_ENABLEBUTTON, IDM_DIALOGOFF, MAKELONG(!EnableFlag, 0));
}
