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

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. Затем включите файл ресурсов в проект.

Перейти на страницу:

Все книги серии Библиотека системного программиста

Похожие книги