/**
 *	@brief	モーダルダイアログを表示します。
 *	@return	ダイアログの戻り値
 */
int WinDialog::DoModal(
	HWND hParent	///< 親ウィンドウ
)
{
	readyDialogLayout();

	int result;
	BYTE* dialogTemplate = createDialogTemplate();
	try
	{
		m_bModal = TRUE;
		result = ::DialogBoxIndirectParam(WinCoveredCalcApp::GetInstance()->GetInstanceHandle(),
											reinterpret_cast<LPDLGTEMPLATEW>(dialogTemplate),
											hParent, CHrnDlg::cbHrnDlgProc, reinterpret_cast<LPARAM>(this));
	}
	catch (...)
	{
		free(dialogTemplate);
		throw;
	}
	free(dialogTemplate);
	return result;
}
/**
 *	@brief	モードレスダイアログを生成します。
 *	@retval	TRUE	成功
 *	@retval	FALSE	失敗
 */
BOOL WinDialog::Create(
	HWND hParent	///< 親ウィンドウ
)
{
	readyDialogLayout();

	BOOL result;
	BYTE* dialogTemplate = createDialogTemplate();
	try
	{
		m_bModal = FALSE;
		HWND hWnd = ::CreateDialogIndirectParam(WinCoveredCalcApp::GetInstance()->GetInstanceHandle(),
											reinterpret_cast<LPDLGTEMPLATEW>(dialogTemplate),
											hParent, CHrnDlg::cbHrnDlgProc, reinterpret_cast<LPARAM>(this));
		result = (NULL == hWnd) ? FALSE : TRUE;
	}
	catch (...)
	{
		free(dialogTemplate);
		throw;
	}
	free(dialogTemplate);
	return result;
}
/*************************************************************************
    Constructor
*************************************************************************/
Win32CEGuiRendererSelector::Win32CEGuiRendererSelector() :
        d_template(createDialogTemplate())
{}