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



>//=====================================================

>class CMFMessageWindow : public CFrameWnd {

>public:

> // Объявляем конструктор класса CMFMessageWindow

> CMFMessageWindow();


> // Объявляем методы для обработки команд меню

> afx_msg void FrameMessageCommand();

> afx_msg void ExitApp();


> // Макрокоманда необходима, так как класс

> // CMFMessageWindow обрабатывает сообщения

> DECLARE_MESSAGE_MAP()

>};


>//=====================================================

>// Метод MessageCommand

>// Обрабатывает команду ID_TEST_BEEP

>//=====================================================

>void CMFMessageWindow::FrameMessageCommand() {

> ::MessageBox(NULL, "Command received in CMFMessageWindow Message Map", "Message", MB_OK);

>}


>//=====================================================

>// Метод MessageCommand

>// Обрабатывает команду ID_TEST_BEEP

>//=====================================================

>void CMFMessageApp::AppMessageCommand() {

> ::MessageBox(NULL, "Command received in CMFMessageApp Message Map", "Message", MB_OK);

>}


>//=====================================================

>// Таблица сообщений класса CMFMessageWindow

>//=====================================================

>BEGIN_MESSAGE_MAP(CMFMessageWindow, CFrameWnd)

> ON_COMMAND(ID_TEST_INFRAMECLASS, FrameMessageCommand)

> ON_COMMAND(ID_TEST_INBOTHCLASS, FrameMessageCommand)

>END_MESSAGE_MAP()



>//=====================================================

>// Таблица сообщений класса CMFMessageApp

>//=====================================================

>BEGIN_MESSAGE_MAP(CMFMessageApp, CWinApp)

> ON_COMMAND(ID_TEST_INAPPCLASS, AppMessageCommand)

> ON_COMMAND(ID_TEST_INBOTHCLASS, AppMessageCommand)

>END_MESSAGE_MAP()


>//=====================================================

>// Метод InitInstance класса CMFMessageApp

>//=====================================================

>BOOL CMFMessageApp::InitInstance() {

> // Создаем объект класса CMFMessageWindow

> m_pMainWnd = new CMFMessageWindow();


> // Отображаем окно на экране

> m_pMainWnd–>ShowWindow(m_nCmdShow);


> // Обновляем содержимое окна

> m_pMainWnd–>UpdateWindow();

> return TRUE;

>}


>//=====================================================

>// Конструктор класса CMFMessageWindow

>//=====================================================

>CMFMessageWindow::CMFMessageWindow() {

> // Создаем окно приложения, соответствующее

> // данному объекту класса CMFMessageWindow

> Create(NULL, "Hello MFC", WS_OVERLAPPEDWINDOW, rectDefault, NULL, MAKEINTRESOURCE(IDR_MENU));

>}

Используя редактор ресурсов, создайте файл ресурсов и включите в него меню Test, содержащее четыре строки, имеющие идентификаторы, описанные в следующей таблице. Присвойте меню идентификатор IDR_MENU. Затем включите файл ресурсов в проект.