//////////////////////////////////////////
// GraphMaker.h
// Copyright (c) 12/14/2022 by ECCSkelton
//////////////////////////////////////////
//ECCSkeltonのヘッダー−これに必要なヘッダーが入っている
#include	"ECCSkelton.h"
//リソースIDのヘッダー
#include	"ResGraphMaker.h"

/////////////////////////////////////////////////////////////////////
//CMyWndクラスをCDLGクラスから派生させ、メッセージ用の関数を宣言する
/////////////////////////////////////////////////////////////////////
class CMyWnd : public CDLG
{
public:	//以下はコールバック関数マクロと関連している
	//２重起動防止用のMutex用ID名称
	CMyWnd(WCHAR* UName) : CDLG(UName) {}
	//メンバー変数
	CPICBOX m_PicBox;		//PictureBoxの作成
	int m_Selection = 0;	//選択された式の番号（順）
	int m_GraphW = 0;		//m_PicBoxクライアントエリアの幅
	int m_GraphH = 0;		//m_PicBoxクライアントエリアの高さ
	COLORREF m_FrCol;		//描画（前景）色
	COLORREF m_BkCol = 0;	//背景色
	//メニュー項目、ダイアログコントロール関連
	bool OnClear();
	bool OnBackCol();
	bool OnFrontCol();
	bool OnCombobox(WPARAM);
	bool OnShowgraph();
	bool OnIdok();
	//ウィンドウメッセージ関連
	CMDTABLE				//OnCommand()関数宣言
	bool OnInit(WPARAM, LPARAM);
	bool OnNotify(WPARAM, LPARAM);
	bool OnClose(WPARAM, LPARAM);
	bool OnDestroy(WPARAM, LPARAM);
	//ユーザー定義関数
	COLORREF GetCol();
	void SetCol(COLORREF);
	void ClearGraph();
};

////////////////////////////////////////////////////////////////////////
//派生させたCMyWndクラスのインスタンスとコールバック関数(マクロ）の作成
//主ウィンドウはダイアログと違い、コールバック関数は一つしか作れない
////////////////////////////////////////////////////////////////////////
CMyWnd GraphMaker(L"GraphMaker");	//ウィンドウクラスインスタンスの生成

BEGIN_CMDTABLE(CMyWnd)	//クラス名がCMyWndではない場合、クラス名、テーブルを適宜マニュアルで修正してください
//BEGIN_MODELESSDLGMSG(ModelessProc, GraphMaker)	//コールバック関数名は主ウィンドウの場合ModelessProcにしている
	//メニュー項目、ダイアログコントロール関連
	ON(IDC_CLEAR, OnClear())
	ON(IDC_BACKCOL, OnBackCol())
	ON(IDC_FRONTCOL, OnFrontCol())
	ON(IDC_COMBOBOX, OnCombobox(wParam))
	ON(IDC_SHOWGRAPH, OnShowgraph())
	ON(IDOK, OnIdok())
	//ウィンドウメッセージ関連
	//自動的にダイアログ作成時にOnInit()、終了時にOnClose()を呼びます
	//ON_CLOSE(GraphMaker)
	//ON_DESTROY(GraphMaker)
//END_DLGMSG
END_CMDTABLE

////////////////////////
//コモンダイアログの作成
////////////////////////
CMNDLG g_CmnDlg;
