//////////////////////////////////////////
// TBEditorProc.h
// Copyright (c) 08/25/2002 by BCCSkelton
//////////////////////////////////////////

/////////////////////////////////
//主ウィンドウCMyWndの関数の定義
//ウィンドウメッセージ関数
/////////////////////////////////
bool CMyWnd::OnCreate(WPARAM wParam, LPARAM lParam) {

	//コモンコントロールの初期化
	InitCommonControls();

	//ツールバー登録−Init(hWnd, hIinstance, ID, (以下省略可）Style)−ツールチップ付
	TBar.Init(m_hWnd, m_hInstance, TOOLBAR,  WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS);

	//☆ツールバーボタン用カスタムビットマップ追加
	TBar.AddBmp(m_hInstance, MAKEINTRESOURCE(IDI_TBEDITOR), 15);
	//ツールバーボタン追加
	//☆カスタムビットマップを使う等数を増やす場合はマニュアルで修正します
	TBBUTTON tbb[19];
	ZeroMemory(tbb, sizeof(tbb));
	tbb[0].iBitmap = TBar.m_id;
	tbb[0].fsState = TBSTATE_ENABLED;
	tbb[0].fsStyle = TBSTYLE_BUTTON;
	tbb[0].idCommand = IDM_NEW;
	tbb[1].iBitmap = TBar.m_id + 1;
	tbb[1].fsState = TBSTATE_ENABLED;
	tbb[1].fsStyle = TBSTYLE_BUTTON;
	tbb[1].idCommand = IDM_OPEN;
	tbb[2].iBitmap = TBar.m_id + 2;
	tbb[2].fsStyle = TBSTYLE_BUTTON;
	tbb[2].idCommand = IDM_SAVE;
	tbb[3].iBitmap = TBar.m_id + 3;
	tbb[3].fsState = TBSTATE_ENABLED;
	tbb[3].fsStyle = TBSTYLE_BUTTON;
	tbb[3].idCommand = IDM_EXIT;
	tbb[4].fsStyle = TBSTYLE_SEP;	//セパレーター
	tbb[5].iBitmap = TBar.m_id + 4;
	tbb[5].fsStyle = TBSTYLE_BUTTON;
	tbb[5].idCommand = IDM_ADDBMP;
	tbb[6].fsStyle = TBSTYLE_SEP;	//セパレーター
	tbb[7].iBitmap = TBar.m_id + 5;
	tbb[7].fsState = TBSTATE_PRESSED;
	tbb[7].fsStyle = TBSTYLE_BUTTON;
	tbb[7].idCommand = IDM_DOT;
	tbb[8].iBitmap = TBar.m_id + 6;
	tbb[8].fsStyle = TBSTYLE_BUTTON;
	tbb[8].idCommand = IDM_LINE;
	tbb[9].iBitmap = TBar.m_id + 7;
	tbb[9].fsStyle = TBSTYLE_BUTTON;
	tbb[9].idCommand = IDM_BOX;
	tbb[10].iBitmap = TBar.m_id + 8;
	tbb[10].fsStyle = TBSTYLE_BUTTON;
	tbb[10].idCommand = IDM_ELLIPSE;
	tbb[11].iBitmap = TBar.m_id + 9;
	tbb[11].fsStyle = TBSTYLE_BUTTON;
	tbb[11].idCommand = IDM_BOXF;
	tbb[12].iBitmap = TBar.m_id + 10;
	tbb[12].fsStyle = TBSTYLE_BUTTON;
	tbb[12].idCommand = IDM_ELLIPSEF;
	tbb[13].iBitmap = TBar.m_id + 11;
	tbb[13].fsStyle = TBSTYLE_BUTTON;
	tbb[13].idCommand = IDM_PAINT;
	tbb[14].fsStyle = TBSTYLE_SEP;	//セパレーター
	tbb[15].iBitmap = TBar.m_id + 12;
	tbb[15].fsStyle = TBSTYLE_BUTTON;
	tbb[15].idCommand = IDM_SELEC;
	tbb[16].fsStyle = TBSTYLE_SEP;	//セパレーター
	tbb[17].iBitmap = TBar.m_id + 13;
	tbb[17].fsState = TBSTATE_ENABLED;
	tbb[17].fsStyle = TBSTYLE_BUTTON;
	tbb[17].idCommand = IDM_HOWTOUSE;
	tbb[18].iBitmap = TBar.m_id + 14;
	tbb[18].fsState = TBSTATE_ENABLED;
	tbb[18].fsStyle = TBSTYLE_BUTTON;
	tbb[18].idCommand = IDM_VERSION;
	TBar.AddButtons(19, tbb);

	//ステータスバー登録−Init(hWnd, hIinstance, ID, (以下省略可）Style)
	SBar.Init(m_hWnd, m_hInstance, STATUSBAR);
	//ステータスバー区画設定
	int sec[3] = {200, 400, 600};
	SBar.SetSection(3, sec);
	//☆ステータスバー文字列設定
	SBar.SetText(0, NAME "Ver 1.0 (c) by ysama");
	SBar.SetText(1, g_FileName);
	SBar.SetText(2, "");
	SBar.SendMsg(SB_SETTIPTEXT, 0, (LPARAM)"Ver 1.0 (c) by ysama");	//ToolTipをつける
	SBar.SendMsg(SB_SETTIPTEXT, 1, (LPARAM)g_FileName);
	//仮想ウィンドウの初期化
	cvs.SetCanvas(m_hWnd);
	//☆イメージリストの作成
	ImgList.Init(m_hWnd, CX_IMAGE, CY_IMAGE, ILC_COLOR, 32, 0, &cvs);
	//☆カレントディレクトリーをSampleBMPへ
	lstrcpy(BaseDir, arg.GetLongName(arg.Path()));
	lstrcat(BaseDir, "\\SampleBMP");

	return TRUE;
}

bool CMyWnd::OnLButtonDown(WPARAM wParam, LPARAM lParam) {

	POINT pt;
	pt.x = LOWORD(lParam);
	pt.y = HIWORD(lParam);
	int num = (pt.x - g_DispArea.left) / CX_IMAGE;	//ImgLIstのインデックス
	//☆ツールバービットマップ表示領域の場合
	if(PtInRect(&g_DispArea, pt)) {
		if(num < ImgList.Count()) {
			ImgList.StartDragging(g_DispArea.left + num * CX_IMAGE,
									g_DispArea.top, pt.x, pt.y, num);
			g_Busy = DRAG1;	//ドラッグ中のフラッグ
		}
	}
	//☆ビットマップ拡大描画表示領域の場合
	else if(PtInRect(&g_DrawArea, pt)) {
		g_Drawx = (pt.x - g_DrawArea.left) / CW;
		g_Drawy = (pt.y - g_DrawArea.top) / CW;
		cvs.DragRect(g_Drawx * CW + g_DrawArea.left + 8,
						g_Drawy * CW + g_DrawArea.top + 8, TRUE);
		SetCursor(LoadCursor(NULL, IDC_CROSS));
		SetCapture(m_hWnd);
		g_Busy = DRAW;	//描画中のフラッグ
	}
	//☆ビットマップサンプル表示領域の場合
	else if(PtInRect(&g_SampArea, pt)) {
		cvsbmp.GetBMP(m_hWnd, cvs.hDC(), g_SampArea.left, g_SampArea.top,
						CX_IMAGE, CY_IMAGE);
		ImgList.AddImage(cvsbmp.Handle());	//イメージリストに付加する
		ImgList.StartDragging(g_SampArea.left, g_SampArea.top,
								pt.x, pt.y, ImgList.Count() - 1);
		g_Busy = DRAG2;	//ドラッグ中のフラッグ
	}
	//☆描画色選択の表示領域の場合
	else if(PtInRect(&g_ColArea, pt)) {
		CheckColor(m_hWnd, (pt.x - g_ColArea.left) / CW +
						((pt.y - g_ColArea.top) / CW) * 8);
		g_Busy = NONE;
	}
	return TRUE;
}

bool CMyWnd::OnLButtonUp(WPARAM wParam, LPARAM lParam) {

	POINT pt;
	pt.x = LOWORD(lParam);
	pt.y = HIWORD(lParam);
	int num = (pt.x - g_DispArea.left) / CX_IMAGE;	//ImgLIstのインデックス
	ImgList.StopDragging(pt.x, pt.y);	//取り敢えずドラッギングは止める
	//サンプルエリアからのドラッグの処理（優先）
	if(g_Busy == DRAG2 && !PtInRect(&g_DispArea, pt))
			ImgList.DeleteImage(ImgList.Count() - 1);
	//☆ツールバービットマップ表示領域の場合
	if(PtInRect(&g_DispArea, pt)) {
		if(g_Busy == DRAG1)
			if(num < ImgList.Count())	//g_DispArea内の並び替え
				ImgList.ReArrange(ImgList.m_ImgIndex, num);
		COLORREF Color = cvs.m_Color;
		cvs.Color(15);
		cvs.Box(g_DispArea.left, g_DispArea.top, g_DispArea.right, g_DispArea.top + CY_IMAGE, 1);
		cvs.m_Color = Color;
		ImgList.ShowAll(g_DispArea.left, g_DispArea.top);
		InvalidateRect(m_hWnd, &g_DispArea, TRUE);
	}
	//☆ビットマップ拡大描画表示領域の場合
	else if(PtInRect(&g_DrawArea, pt)) {
		if(g_Busy == DRAW) {
			pt.x = (pt.x - g_DrawArea.left) / CW;
			pt.y = (pt.y - g_DrawArea.top) / CW;
			cvs.DragRect(pt.x * CW + g_DrawArea.left + 8,
							pt.y * CW + g_DrawArea.top + 8, FALSE);
			DrawSample(pt.x, pt.y);
			SampToDraw();
			SetCursor(LoadCursor(NULL, IDC_ARROW));
			ReleaseCapture();
			InvalidateRect(m_hWnd, &g_DrawArea, TRUE);
		}
	}
	//☆ビットマップサンプル表示領域の場合
	else if(PtInRect(&g_SampArea, pt)) {
		if(g_Busy == DRAG1) {
			ImgList.ShowImage(g_SampArea.left, g_SampArea.top, ImgList.m_ImgIndex);
			SampToDraw();
			InvalidateRect(m_hWnd, &g_SampArea, TRUE);
		}
	}
	g_Busy == NONE;
	return TRUE;
}

bool CMyWnd::OnRButtonDown(WPARAM wParam, LPARAM lParam) {

	POINT pt;
	pt.x = LOWORD(lParam);
	pt.y = HIWORD(lParam);
	int num = (pt.x - g_DispArea.left) / CX_IMAGE;	//ImgLIstのインデックス
	//☆ツールバービットマップ表示領域の場合
	if(PtInRect(&g_DispArea, pt)) {
		if(num < ImgList.Count())
			ImgList.DeleteImage(num);
		COLORREF Color = cvs.m_Color;
		cvs.Color(15);
		cvs.Box(g_DispArea.left, g_DispArea.top, g_DispArea.right, g_DispArea.top + CY_IMAGE, 1);
		cvs.m_Color = Color;
		ImgList.ShowAll(g_DispArea.left, g_DispArea.top);
		InvalidateRect(m_hWnd, &g_DispArea, TRUE);
	}
	//☆ビットマップサンプル表示領域の場合
	else if(PtInRect(&g_SampArea, pt)) {
		COLORREF Color = cvs.m_Color;
		cvs.Color(15);
		cvs.Box(g_SampArea.left, g_SampArea.top, g_SampArea.left + CX_IMAGE, g_SampArea.top + CY_IMAGE, 1);
		cvs.m_Color = Color;
		SampToDraw();
		InvalidateRect(m_hWnd, &g_SampArea, TRUE);
	}
	return TRUE;
}

bool CMyWnd::OnMouseMove(WPARAM wParam, LPARAM lParam) {

	POINT pt;
	pt.x = LOWORD(lParam);
	pt.y = HIWORD(lParam);
	ImgList.MoveImage(pt.x, pt.y);
	char location[CW * 2];
	//☆ビットマップ拡大描画表示領域の場合
	if(PtInRect(&g_DrawArea, pt)) {
		pt.x = (pt.x - g_DrawArea.left) / CW;
		pt.y = (pt.y - g_DrawArea.top) / CW;
		wsprintf(location, "x, y : %2d, %2d", pt.x, pt.y);
		if(g_Busy == DRAW && wParam & MK_LBUTTON) {
			SetCursor(LoadCursor(NULL, IDC_CROSS));
			cvs.DragRect(pt.x * CW + g_DrawArea.left + 8,
							pt.y * CW + g_DrawArea.top + 8, TRUE);
		}
	}
	else {
		location[0] = NULL;
		SetCursor(LoadCursor(NULL, IDC_ARROW));
	}
	if(g_FileName)
		SBar.SetText(2, location);
	return TRUE;
}

bool CMyWnd::OnNotify(WPARAM wParam, LPARAM lParam) {

	switch (((LPNMHDR)lParam)->code) {	//ツールバーからのツールチップ情報取得
		case TTN_NEEDTEXT:
			static LPTOOLTIPTEXT lptip;
			lptip = (LPTOOLTIPTEXT)lParam;
			switch (lptip->hdr.idFrom) {
				case IDM_NEW:
					lptip->lpszText = "新規ツールバービットマップの作成";
					break;
				case IDM_OPEN:
					lptip->lpszText = "ツールバービットマップファイルを開く";
					break;
				case IDM_SAVE:
					lptip->lpszText = "ツールバービットマップの保存";
					break;
				case IDM_EXIT:
					lptip->lpszText = "プログラムの終了";
					break;
				case IDM_ADDBMP:
					lptip->lpszText = "ビットマップの追加";
					break;
				case IDM_DOT:
					lptip->lpszText = "点を打つ";
					break;
				case IDM_LINE:
					lptip->lpszText = "線を引く";
					break;
				case IDM_BOX:
					lptip->lpszText = "四角を描く";
					break;
				case IDM_ELLIPSE:
					lptip->lpszText = "(楕）円を描く";
					break;
				case IDM_BOXF:
					lptip->lpszText = "四角を塗りつぶす";
					break;
				case IDM_ELLIPSEF:
					lptip->lpszText = "(楕）円を塗りつぶす";
					break;
				case IDM_PAINT:
					lptip->lpszText = "塗りつぶし";
					break;
				case IDM_SELEC:
					lptip->lpszText = "描画色の選択";
					break;
				case IDM_HOWTOUSE:
					lptip->lpszText = "TBEditorの使い方";
					break;
				case IDM_VERSION:
					lptip->lpszText = "バージョン情報";
					break;
			}
	}
	return TRUE;
}

bool CMyWnd::OnSize(WPARAM wParam, LPARAM lParam) {

	GetSize(lParam);	//☆WM_SIZE（ウィンドウ作成）時にサイズを取る
	TBar.AutoSize();
	SBar.AutoSize();
	return TRUE;
}

bool CMyWnd::OnPaint(WPARAM wParam, LPARAM lParam) {

	PAINTSTRUCT paint;
	cvs.OnPaint(BeginPaint(m_hWnd, &paint));
	EndPaint(m_hWnd, &paint);
	return TRUE;
}

bool CMyWnd::OnClose(WPARAM wParam, LPARAM lParam) {

	if(MessageBox(m_hWnd, "終了しますか", "終了確認",
					MB_YESNO | MB_ICONINFORMATION) == IDYES)
		//処理をするとDestroyWindow、PostQuitMessageが呼ばれる
		return TRUE;
	else
		//そうでなければウィンドウではDefWindowProc関数をreturn、ダイアログではreturn FALSEとなる。
		return FALSE;
}

/////////////////////////////////
//主ウィンドウCMyWndの関数の定義
//メニュー項目、コントロール関数
/////////////////////////////////
bool CMyWnd::OnNew() {

	//メニュー、ツールバーボタンを有効化させる
	ChangeStatus(TRUE);
	g_FileName = "新規ファイル";
	SBar.SetText(1, g_FileName);	//☆ステータスバーにファイル名を表示
	SBar.SendMsg(SB_SETTIPTEXT, 1, (LPARAM)g_FileName);
	InitClientArea();				//☆画面初期化
	return TRUE;
}

bool CMyWnd::OnOpen() {

	//新規ならばメニュー、ツールバーボタンを有効化させる
	if(!g_FileGiven)
		g_FileName = cmndlg.GetFileName(m_hWnd,
					"ツールバービットマップファイル(*.bmp)\0*.bmp\0\0", TRUE);
	if(!g_FileName) {
		MessageBox(m_hWnd, "ファイルが選択されませんでした", "注意", MB_OK | MB_ICONSTOP);
	}
	else {
		InitClientArea();						//☆画面初期化
		cvsbmp.LoadBMP(m_hWnd, g_FileName, TRUE);//☆ファイルからロード
		//☆ツールバーボタンか否かの検証
		if(cvsbmp.CBits() == 4 && cvsbmp.Height() == CY_IMAGE) {
			ImgList.AddImage(cvsbmp.Handle());	//☆イメージリストに付加する
			ImgList.ShowAll(g_DispArea.left, g_DispArea.top);	//☆全て表示
			InvalidateRect(m_hWnd, &g_DispArea, TRUE);			//☆画面更新
			SBar.SetText(1, g_FileName);		//☆ステータスバーにファイル名を表示
			SBar.SendMsg(SB_SETTIPTEXT, 1, (LPARAM)g_FileName);
			ChangeStatus(TRUE);
		}
		else
			MessageBox(m_hWnd, "縦15、16色のツールバーではありません", "注意", MB_OK | MB_ICONSTOP);
	}
	g_FileGiven = FALSE;	//起動時ファイルパラメーターフラッグをオフにする
	return TRUE;
}

bool CMyWnd::OnSave() {

	//☆ステータスバーからファイル名を取得する
	char FileName[MAX_PATH];
	SBar.SendMsg(SB_GETTEXT, 1, (LPARAM)FileName);
	//☆無いか「新規ファイル｣ならm名前をつけて保存へ行く
	if(!*FileName || !lstrcmp(FileName, "新規ファイル"))
		SendMsg(WM_COMMAND, IDM_SAVEAS, 0);
	else {
		cvsbmp.GetBMP(m_hWnd, cvs.hDC(), g_DispArea.left, g_DispArea.top,
						g_DispArea.left + ImgList.Count() * CX_IMAGE - 1,
						g_DispArea.bottom - g_DispArea.top);
		cvsbmp.SaveBMP(FileName, 4);	//☆元のファイル名のまま16色でセーブ
	}
	return TRUE;
}

bool CMyWnd::OnSaveas() {

	g_FileName = cmndlg.GetFileName(m_hWnd,
				"ツールバービットマップファイル(*.bmp)\0*.bmp\0\0", FALSE, "bmp");
	//☆名前をつけてセーブ
	if(g_FileName) {
		cvsbmp.GetBMP(m_hWnd, cvs.hDC(), g_DispArea.left, g_DispArea.top,
						g_DispArea.left + ImgList.Count() * CX_IMAGE - 1,
						g_DispArea.bottom - g_DispArea.top);
		cvsbmp.SaveBMP(g_FileName, 4);	//☆新しいファイル名、16色でセーブ
		SBar.SetText(1, g_FileName);	//☆ステータスバーにファイル名を表示
		SBar.SendMsg(SB_SETTIPTEXT, 1, (LPARAM)g_FileName);
	}
	else
		MessageBox(m_hWnd, "操作がキャンセルされました",
					"注意", MB_OK | MB_ICONSTOP);
	return TRUE;
}

bool CMyWnd::OnExit() {

	SendMsg(WM_CLOSE, 0, 0);;
	return TRUE;
}

bool CMyWnd::OnAddbmp() {

	g_FileName = cmndlg.GetFileName(m_hWnd,
				"ツールバービットマップファイル(*.bmp)\0*.bmp\0\0", TRUE,
				"bmp", BaseDir);
	if(!g_FileName)
		MessageBox(m_hWnd, "操作がキャンセルされました", "注意", MB_OK | MB_ICONSTOP);
	else {
		HBITMAP hBitmap = (HBITMAP)LoadImage(m_hInstance, g_FileName,
									IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
		BITMAP BMPInfo;					//ビットマップ情報
		GetObject((HGDIOBJ)hBitmap, sizeof(BITMAP), &BMPInfo);
		//☆部品ビットマップか否かの検証
		if(BMPInfo.bmWidth != CX_IMAGE || BMPInfo.bmHeight != CY_IMAGE)
			MessageBox(m_hWnd, "横16 x 縦15のツールバービットマップではありません", "注意", MB_OK | MB_ICONSTOP);
		else {
			ImgList.AddImage(hBitmap);		//☆イメージリストに付加する
			DeleteObject(hBitmap);			//☆ビットマップを削除
			ImgList.ShowAll(g_DispArea.left, g_DispArea.top);	//☆全て表示
			InvalidateRect(m_hWnd, &g_DispArea, TRUE);			//☆画面更新
		}
		*g_FileName = NULL;	//cmndlg.m_FileNameの初期化
	}
	return TRUE;
}

bool CMyWnd::OnDot() {

	//☆User.hのCheckChange()関数を参照・以下同じ
	CheckChange(m_hWnd, IDM_DOT);
	return TRUE;
}

bool CMyWnd::OnLine() {

	CheckChange(m_hWnd, IDM_LINE);
	return TRUE;
}

bool CMyWnd::OnBox() {

	CheckChange(m_hWnd, IDM_BOX);
	return TRUE;
}

bool CMyWnd::OnEllipse() {

	CheckChange(m_hWnd, IDM_ELLIPSE);
	return TRUE;
}

bool CMyWnd::OnBoxf() {

	CheckChange(m_hWnd, IDM_BOXF);
	return TRUE;
}

bool CMyWnd::OnEllipsef() {

	CheckChange(m_hWnd, IDM_ELLIPSEF);
	return TRUE;
}

bool CMyWnd::OnPaint() {

	CheckChange(m_hWnd, IDM_PAINT);
	return TRUE;
}

bool CMyWnd::OnBlack() {

	//☆User.hのCheckColor()関数を参照・以下同じ
	CheckColor(m_hWnd, 0);
	return TRUE;
}

bool CMyWnd::OnDblue() {

	CheckColor(m_hWnd, 1);
	return TRUE;
}

bool CMyWnd::OnDred() {

	CheckColor(m_hWnd, 2);
	return TRUE;
}

bool CMyWnd::OnDmazenda() {

	CheckColor(m_hWnd, 3);
	return TRUE;
}

bool CMyWnd::OnDgreen() {

	CheckColor(m_hWnd, 4);
	return TRUE;
}

bool CMyWnd::OnDcian() {

	CheckColor(m_hWnd, 5);
	return TRUE;
}

bool CMyWnd::OnDyellow() {

	CheckColor(m_hWnd, 6);
	return TRUE;
}

bool CMyWnd::OnDwhite() {

	CheckColor(m_hWnd, 7);
	return TRUE;
}

bool CMyWnd::OnGray() {

	CheckColor(m_hWnd, 8);
	return TRUE;
}

bool CMyWnd::OnBlue() {

	CheckColor(m_hWnd, 9);
	return TRUE;
}

bool CMyWnd::OnRed() {

	CheckColor(m_hWnd, 10);
	return TRUE;
}

bool CMyWnd::OnMazenda() {

	CheckColor(m_hWnd, 11);
	return TRUE;
}

bool CMyWnd::OnGreen() {

	CheckColor(m_hWnd, 12);
	return TRUE;
}

bool CMyWnd::OnCian() {

	CheckColor(m_hWnd, 13);
	return TRUE;
}

bool CMyWnd::OnYellow() {

	CheckColor(m_hWnd, 14);
	return TRUE;
}

bool CMyWnd::OnWhite() {

	CheckColor(m_hWnd, 15);
	return TRUE;
}

bool CMyWnd::OnSelec() {

	//カラー選択ダイアログ・一寸違う処理
	CheckColor(m_hWnd, 17);
	return TRUE;
}

bool CMyWnd::OnHowtouse() {

	//☆ボタンを押された状態で維持する
	SendMessage(TBar.GetHandle(), TB_SETSTATE, IDM_HOWTOUSE,
				(LPARAM)MAKELONG(TBSTATE_ENABLED | TBSTATE_PRESSED, 0));
	//☆ヘルプダイアログ呼び出し
	helpdlg.DoModal(m_hWnd, "IDD_HELP", helpdlgProc);
	//☆ボタンを戻す
	SendMessage(TBar.GetHandle(), TB_SETSTATE, IDM_HOWTOUSE,
				(LPARAM)MAKELONG(TBSTATE_ENABLED, 0));
	return TRUE;
}

bool CMyWnd::OnVersion() {

	//☆バージョン情報ダイアログ
	versiondlg.DoModal(m_hWnd, "IDD_VERSION", versiondlgProc);
	return TRUE;
}

///////////////////////////////
//ユーザーダイアログの関数定義
//コントロール関数
///////////////////////////////
bool HELPDLG::OnInit(WPARAM wParam, LPARAM lParam) {

	char HelpFile[MAX_PATH];
	//☆ヘルプファイル名取得
	lstrcpy(HelpFile, BaseDir);
	lstrcat(HelpFile, "\\TBEreadme.txt");
	lstrcpy(HelpFile, arg.GetLongName(HelpFile));	//ファイルパスにスペースがあった場合の処置
	//☆エディットコントロールにreadme.txtファイルを読ませる
	CFILE File;
	File.LoadFile(HelpFile);
	SendItemMsg(IDC_EDIT, WM_SETTEXT, 0, (LPARAM)File.Read());
	return TRUE;
}

bool HELPDLG::OnIdok() {

	//☆ダイアログを消す
	EndModal(TRUE);
	return TRUE;
}

///////////////////////////////
//ユーザーダイアログの関数定義
//コントロール関数
///////////////////////////////
bool VERSIONDLG::OnIdok() {

	//☆ダイアログを消す
	EndModal(TRUE);
	return TRUE;
}
