//---------------------
// プロジェクト.h 部分
//---------------------
/////////////////////////
// インクルードファイル
/////////////////////////
#include	"ECCSkelton.h"
#include	"ResCSDITest.h"

/////////////////////////
// 旧BCCSkeltonにおける
// ".h"ファイル部分
/////////////////////////
//CMyWndクラスをCSDIから派生させ、OnCommandを定義する
class CMyWnd : public CSDI
{
public:
	CMyWnd(WCHAR* UName) : CSDI(UName) {};
	CMDTABLE	//CMyWndクラスのOnCommand()関数宣言
	bool OnCreate(WPARAM, LPARAM);
	bool OnClose(WPARAM, LPARAM);
	bool OnExit();
	bool OnVersion();
};

//CMyWndインスタンスをメインウィンドウとして作成する
CMyWnd MainWnd(L"ECCSkeltonTest");

//CMyWndクラスのOnCommand()関数定義
BEGIN_CMDTABLE(CMyWnd)
	ON(IDM_EXIT, OnExit())
	ON(IDM_VERSION, OnVersion())
END_CMDTABLE

//VERSIONDLGクラスをCDLGから派生させ、OnCommandを定義する
class VERSIONDLG : public CDLG
{
public:
	CMDTABLE	//VERSIONDLGのOnCommand()関数宣言
	bool OnIdok();
};

//VERSIONDLGインスタンスをversiondlgダイアログとして作成する
VERSIONDLG versiondlg;

//VERSIONDLGクラスのOnCommand()関数定義
BEGIN_CMDTABLE(VERSIONDLG)
	ON(IDOK, OnIdok())
END_CMDTABLE

///////////////
//外部変数宣言
///////////////
//CMNDLGクラスインスタンス
CMNDLG g_CmnDlg;

//CSBARクラスインスタンス
CSBAR g_SBar;

//EDITコントロール用CCTRLクラスインスタンス
CCTRL g_Edit;

//-------------------------
// プロジェクトProc.h 部分
//-------------------------
//CMyWndのOnCreate関数を定義する
bool CMyWnd::OnCreate(WPARAM wParam, LPARAM lParam) {

	MessageBoxW(m_hWnd, L"OnCreate関数にいます", L"WM_CREATE", MB_YESNO | MB_ICONINFORMATION);
	return TRUE;
}

//CMyWndのOnClose関数を定義する
bool CMyWnd::OnClose(WPARAM wParam, LPARAM lParam) {

	if(MessageBoxW(m_hWnd, L"終了してもよいですか", L"終了確認",
		MB_YESNO | MB_ICONQUESTION) == IDYES)
		return TRUE;
	else
		return FALSE;
}

//CMyWndのOnExit関数を定義する
bool CMyWnd::OnExit() {

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

//CMyWndのOnVersion関数を定義する
bool CMyWnd::OnVersion() {

	versiondlg.DoModal(m_hWnd, L"IDD_VERSION", GetInstance());
	return TRUE;
}

///////////////////////////////
//ユーザーダイアログの関数定義
///////////////////////////////
//VERSIONDLGのOnIdok関数を定義する
bool VERSIONDLG::OnIdok() {

	EndModal(TRUE);
	return TRUE;
}

//-----------------------
// プロジェクト.cpp 部分
//-----------------------
////////////////
// WinMain関数
////////////////
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
					LPWSTR lpCmdLine, int nCmdShow) {

	//CSDIインスタンスの初期化
	if(!MainWnd.Init(L"ECCSkeltonTest", hInstance, L"IDM_MENU", L"IDI_ICON"))
		return 1;
	//SDIウィンドウの作成
	if(!MainWnd.Create(L"CSDITest"))
		return 1;
	//メッセージループに入る
	return MainWnd.Loop();
}
