#include"../../Maid/FrameWork/Windows/CApplicationWindows.h"
#include"../../Maid/FrameWork/Windows/CWindow.h"


using namespace Maid;
//	Windowsプログラムの雛形


//	基本的に IApplicationWindows を継承して
//	MainLoop() の中を実装するようにする
class CApp : public Maid::IApplicationWindows
{
protected:
	virtual void OnSetup()
	{
		//	とりあえずウィンドウの作成
		//	ウィンドウのｘボタンを押したらアプリが終了するようにする
		m_Window.RegistCallBack( WM_CLOSE, MakeCallBackObject(&CApp::OnClose,this) );
		m_Window.Create();
		m_Window.Show();
	
	}

	virtual void OnCleanup(){}

	virtual void OnLoop()
	{

	}

private:
	CWindow::CALLBACKCODE OnClose( CWindowsMessage& msg )
	{
		ApplicationExit();
		return CWindow::CALLBACKCODE_CONTINUE;
	}


private:
	CWindow	m_Window;
};


int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
	CApp capp;
	return capp.Run( hInstance, hPrevInstance, lpCmdLine, nCmdShow );
}