Чтение онлайн

на главную - закладки

Жанры

Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2

Фролов Григорий Вячеславович

Шрифт:

//============================================================

// Включаемые файлы для MFC

#include <afxwin.h>

#include <afxext.h>

#include <afxcmn.h>

// Включаемый файл для ресурсов приложения и идентификаторов

#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)

 ON_UPDATE_COMMAND_UI(ID_MENU_DISABLE, OnUpdateDisable)

END_MESSAGE_MAP

// Индикатор панели управления

UINT indicator = ID_SEPARATOR;

//============================================================

// Метод InitInstance класса CMultiMenuApp

// Создает главное окно приложения и отображает его на экране

//============================================================

BOOL CMultiMenuApp::InitInstance {

 m_pMainWnd = new CMultiMenuWindow;

 m_pMainWnd->ShowWindow(m_nCmdShow);

 m_pMainWnd->UpdateWindow;

 return TRUE;

}

Поделиться:
Популярные книги

Легат

Прокофьев Роман Юрьевич
6. Стеллар
Фантастика:
боевая фантастика
рпг
6.73
рейтинг книги
Легат

Древесный маг Орловского княжества 9

Павлов Игорь Васильевич
9. Орловское княжество
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Древесный маг Орловского княжества 9

Я снова царь. Книга XXXIII

Дрейк Сириус
33. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я снова царь. Книга XXXIII

Ваше Сиятельство 2

Моури Эрли
2. Ваше Сиятельство
Фантастика:
фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Ваше Сиятельство 2

Дважды одаренный. Том II

Тарс Элиан
2. Дважды одаренный
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Дважды одаренный. Том II

Ярар. Начало

Грехов Тимофей
1. Ярар
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ярар. Начало

Дважды одаренный. Том VIII

Тарс Элиан
8. Дважды одаренный
Фантастика:
боевая фантастика
альтернативная история
аниме
попаданцы
5.00
рейтинг книги
Дважды одаренный. Том VIII

Государь

Кулаков Алексей Иванович
3. Рюрикова кровь
Фантастика:
мистика
альтернативная история
историческое фэнтези
6.25
рейтинг книги
Государь

Кодекс Крови. Книга ХIII

Борзых М.
13. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХIII

Наномашины, демоненок! Том 3

Новиков Николай Васильевич
3. Чего смотришь? Иди книгу читай
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наномашины, демоненок! Том 3

Газлайтер. Том 18

Володин Григорий Григорьевич
18. История Телепата
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Газлайтер. Том 18

Отряд

Валериев Игорь
5. Ермак
Фантастика:
альтернативная история
5.25
рейтинг книги
Отряд

Эволюционер из трущоб

Панарин Антон
1. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб

Я еще не бог. Книга XXXV

Дрейк Сириус
35. Дорогой барон!
Фантастика:
аниме
попаданцы
5.00
рейтинг книги
Я еще не бог. Книга XXXV