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

 afx_msg void MenuCommand();

 afx_msg void ExitApp();

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

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

 DECLARE_MESSAGE_MAP()

};

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

// Метод MenuCommand

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

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

void CMFMenuWindow::MenuCommand() {

 MessageBeep(0);

}

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

// Метод ExitApp

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

void CMFMenuWindow::ExitApp() {

 DestroyWindow();

}

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

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

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

BEGIN_MESSAGE_MAP(CMFMenuWindow, CFrameWnd)

 ON_COMMAND(ID_TEST_BEEP, MenuCommand)

 ON_COMMAND(ID_TEST_EXIT, ExitApp)

END_MESSAGE_MAP()

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

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

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

BOOL CMFMenuApp::InitInstance() {

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

 m_pMainWnd = new CMFMenuWindow();

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

 m_pMainWnd–>ShowWindow(m_nCmdShow);

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

 m_pMainWnd–>UpdateWindow();

 return TRUE;

}

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

// Конструктор класса CMFMenuWindow

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

CMFMenuWindow::CMFMenuWindow() {

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

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

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

}

Ресурсы приложения

Добавить в проект новый ресурс очень просто. Вы можете для этого воспользоваться кнопками панели управления Progect или установить указатель мыши на название типа ресурса и нажать правую кнопку мыши. На экране появится временное меню свойств данного ресурса.

Если у вас уже есть ресурсы, которые разработаны ранее и записаны в отдельных файлах на диске, вы можете подключить их к своему проекту. Для этого надо выбрать из временного меню свойств ресурса строку Import. На экране появится диалоговая панель Import Resource с приглашением ввести имя файла подключаемого вами ресурса. Новый ресурс проекта будет записан в подкаталог RES, расположенный в каталоге проекта.

Сам по себе новый ресурс, подключенный к приложению, не принесет никакой пользы. Ваше приложение должно обращаться к нему – загружать в память, обрабатывать сообщения, связанные с этим ресурсом

Среда Visual C++ версии 4.0 не только позволяет просматривать и редактировать ресурсы приложения, она позволяет сразу после создания ресурса вызвать ClassWizard и подключить к ресурсу управляющий программный код. Пока мы не будем использовать ClassWizard, а код, управляющий ресурсами приложения, создадим вручную.

Создание меню для приложения MFMenu

Так как наше приложение будет содержать меню, мы приступим к созданию ресурсов приложения. Для этого создайте новый файл ресурсов. Выберите из меню File строку New, а затем из открывшейся диалоговой панели выберите строку Resource Script и нажмите кнопку OK.

Теперь надо создать меню. Выберите из меню Insert строку Resource. На экране появится диалоговая панель Insert Resource. Выберите из нее строку Menu и нажмите кнопку OK. Вы сможете в диалоговом режиме разработать меню. Чтобы быстрее перейти к редактированию меню, вы можете нажать кнопку New Menu () из панели управления Project или просто нажать комбинацию кнопок <Ctrl+2>.

Создайте меню, содержащее единственную строку Test, при выборе которой открывается меню, содержащее три строки – Beep и Exit. Внешний вид меню во время разработки представлен на рисунке 2.22.

Рис. 2.22. Разработка меню приложения

Когда вы создаете новое меню верхнего уровня или определяете строки, входящие в это меню, на экране появляется диалоговое окно Menu Item Properties (рис. 2.23). В нем полностью описывается

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

0

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

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