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