};

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

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

Строка меню Test Идентификатор
In Frame Class ID_TEST_INFRAMECLASS
In App Class ID_TEST_INAPPCLASS
In Both Class ID_TEST_INBOTHCLASS
Exit ID_APP_EXIT

В листинге 2.11 представлен фрагмент файла ресурсов MFMessage.rc, в котором определяется меню

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату