// Включаемый файл для ресурсов приложения и идентификаторов
#include "resource.h"
//============================================================
// Класс CMultiMenuApp – главный класс приложения
//============================================================
class CMultiMenuApp : public CWinApp {
public:
// Мы будем переопределять метод InitInstance,
// предназначенный для инициализации приложения
virtual BOOL InitInstance;
};
// Создаем объект приложение класса CMultiMenuApp
CMultiMenuApp MultiMenuApp;
//============================================================
// Класс CMultiMenuWindow – представляет главное окно
//============================================================
class CMultiMenuWindow : public CFrameWnd {
protected:
// Панель состояния
CStatusBar m_wndStatusBar
// Флаг управляет строкой Prosess меню Mission
BOOL bEnable;
// Флаг управляет строкой Construction меню Mission
BOOL bRadio;
// Флаг управляет строкой Restrict меню Menu
int nCheck;
protected:
// Метод для создания окна приложения и панели состояния
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
// Методы для обработки командных сообщений
// от меню приложения
afx_msg void CMultiMenuWindow::OnDisable;
afx_msg void CMultiMenuWindow::OnCommand;
afx_msg void CMultiMenuWindow::OnExit;
afx_msg void CMultiMenuWindow::OnConstruct;
afx_msg void CMultiMenuWindow::OnRestrictMenu;
afx_msg void CMultiMenuWindow::OnFullMenu;
// Методы для обновления меню
afx_msg void OnUpdateProcess(CCmdUI* pCmdUI);
afx_msg void OnUpdateConstruct(CCmdUI* pCmdUI);
afx_msg void OnUpdateDisable(CCmdUI* pCmdUI);
public:
// Конструктор класса CMultiMenuWindow
CMultiMenuWindow;
// Макрокоманда необходима, так как класс
// CMultiMenuWindow обрабатывает сообщения
DECLARE_MESSAGE_MAP
};
//============================================================
// Таблица сообщений класса CMultiMenuWindow
//============================================================
BEGIN_MESSAGE_MAP(CMultiMenuWindow, CFrameWnd)
// Макрокоманда вызывает метод OnCreate
ON_WM_CREATE
// Макрокоманда вызывает метод OnContextMenu
ON_WM_CONTEXTMENU
// Макрокоманды для обработки командных сообщений
ON_COMMAND(ID_MENU_DISABLE, OnDisable)
ON_COMMAND(ID_MISSION_CONSTRUCT, OnConstruct)
ON_COMMAND(ID_FILE_EXIT, OnExit)
ON_COMMAND(ID_MISSION_PROCESS, OnCommand)
ON_COMMAND(ID_MENU_RESTRICT, OnRestrictMenu)
ON_COMMAND(ID_MENU_FULL, OnFullMenu)
// Обработчики сообщений ON_UPDATE_COMMAND_UI
ON_UPDATE_COMMAND_UI(ID_MISSION_PROCESS, OnUpdateProcess)
ON_UPDATE_COMMAND_UI(ID_MISSION_CONSTRUCT, OnUpdateConstruct)