// Включаемый файл для MFC
#include <afxwin.h>
#include "MFMenuRes.h"

//===================================================== 
// Класс CMFMenuApp - главный класс приложения 
//===================================================== 
class CMFMenuApp : public CWinApp
{
public:
	// Мы будем переопределять метод InitInstance,
	// предназначенный для инициализации приложения
	virtual BOOL InitInstance();
};
 
// Создаем объект приложение класса CMFMenuApp
CMFMenuApp MFMenuApp;
 
//===================================================== 
// Класс CMFMenuWindow - представляет главное окно 
//===================================================== 
class CMFMenuWindow : public CFrameWnd
{
public:
	// Объявляем конструктор класса CMFMenuWindow
	CMFMenuWindow();

	// Объявляем методы для обработки команд меню
	afx_msg void MenuCommand();
	afx_msg void ExitApp();

	// Макрокоманда необходима, так как класс 
	// CMFMenuWindow обрабатывает сообщения
	DECLARE_MESSAGE_MAP()    
}; 

//===================================================== 
// Метод MenuCommand
// Обрабатывает команду ID_TEST_BEEP
//===================================================== 
void CMFMenuWindow::MenuCommand()
{
	MessageBeep(0);	
}

//===================================================== 
// Метод ExitApp
//===================================================== 
void CMFMenuWindow::ExitApp()
{
	DestroyWindow();
}

//===================================================== 
// Таблица сообщений класса CMFMenuWindow
//===================================================== 
BEGIN_MESSAGE_MAP(CMFMenuWindow, CFrameWnd)
	ON_COMMAND(ID_TEST_BEEP, MenuCommand)
	ON_COMMAND(ID_TEST_EXIT, ExitApp)
END_MESSAGE_MAP()

//===================================================== 
// Метод InitInstance класса CMFMenuApp
//===================================================== 
BOOL CMFMenuApp::InitInstance()
{
	// Создаем объект класса CMFMenuWindow
	m_pMainWnd = new CMFMenuWindow();

	// Отображаем окно на экране
	m_pMainWnd -> ShowWindow(m_nCmdShow);

	// Обновляем содержимое окна
	m_pMainWnd -> UpdateWindow();
	return TRUE;
}

//===================================================== 
// Конструктор класса CMFMenuWindow
//===================================================== 
CMFMenuWindow::CMFMenuWindow()
{ 
	// Создаем окно приложения, соответствующее 
	// данному объекту класса CMFMenuWindow
	Create(NULL, "Hello MFC", WS_OVERLAPPEDWINDOW,
			rectDefault, NULL, MAKEINTRESOURCE(IDR_MENU)); 
}
