Чтение онлайн

на главную - закладки

Жанры

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

Фролов Григорий Вячеславович

Шрифт:

IDR_MAINFRAME MENU PRELOAD DISCARDABLE

BEGIN

 POPUP "&File"

 BEGIN

MENUITEM "&New\tCtrl+N", ID_FILE_NEW

MENUITEM "&Open...\tCtrl+O", ID_FILE_OPEN

MENUITEM SEPARATOR

MENUITEM "P&rint Setup...", ID_FILE_PRINT_SETUP

MENUITEM SEPARATOR

MENUITEM "Recent File", ID_FILE_MRU_FILE1, GRAYED

MENUITEM SEPARATOR

MENUITEM "E&xit", ID_APP_EXIT

 END

 POPUP "&View"

 BEGIN

MENUITEM "&Toolbar", ID_VIEW_TOOLBAR

MENUITEM "&Status Bar", ID_VIEW_STATUS_BAR

 END

 POPUP "&Help"

 BEGIN

MENUITEM "&About Multi...", ID_APP_ABOUT

 END

END

Большинство

строк меню приложения Multi имеет стандартные идентификаторы. Соответствующие им стандартные командные сообщения обрабатываются различными классами библиотеки MFC. Так, например, стандартное командное сообщение с идентификатором ID_FILENEW от строки New меню File, по умолчанию обрабатывается методом OnFileNew класса CWinApp. Мы уже рассказывали о стандартных командных сообщениях в 24 томе из серии “Библиотека системного программиста”. Более подробное описание стандартных командных сообщений вы можете найти в документации Microsoft Visual C++.

В этой книге мы посвятили меню приложений отдельную главу, которая называется “Меню, панели управления и панели состояния”. Дополнительную информацию об использовании меню вы можете получить в 13 томе серии “Библиотека системного программиста”.

Пиктограмма

В файле ресурсов приложения Multi определены две пиктограммы IDR_MULTITYPE и IDR_MAINFRAME. Каждая из этих пиктограмм содержит по два изображения размером 32×32 и 16×16 пикселов. Внешний вид пиктограмм соответствует пиктограммам, используемым приложением с однооконным интерфейсом. Для однооконного приложения пиктограмма, представляющая документ, называлась IDR_SINGLETYPE, а не IDR_MULTITYPE. Такая разница в названиях возникла исключительно из-за разницы в названиях проектов приложений:

//////////////////////////////////////////////////////////////

// Пиктограммы

IDR_MAINFRAME ICON DISCARDABLE "res\\Multi.ico"

IDR_MULTITYPE ICON DISCARDABLE "res\\MultiDoc.ico"

Пиктограмма IDR_MAINFRAME представляет приложение, когда оно минимизировано (рис. 1.4). Эта же пиктограмма отображается в левом верхнем углу главного окна приложения.

Рис. 1.4. Пиктограмма IDR_MAINFRAME

Пиктограмма IDR_MULTITYPE используется для представления документа с которым работает приложение (рис. 1.5). В отличие от приложения с однооконным интерфейсом, которое не использует эту пиктограмму, приложение с многооконным интерфейсом отображает пиктограмму IDR_MULTITYPE в левом верхнем углу окна документа.

Рис. 1.5.

Пиктограмма IDR_MULTITYPE

Панель управления toolbar

Несмотря на то, что приложение имеет два меню, для него определена только одна панель управления IDR_MAINFRAME. Идентификаторы первых трех и последних двух кнопок этой панели соответствуют идентификаторам строк и меню IDR_MAINFRAME и меню IDR_MULTITYPE. А вот вторые три идентификатора имеют соответствие только в меню IDR_MULTITYPE. Пока ни один документ не открыт и отображается меню IDR_MAINFRAME, эти кнопки недоступны и отображаются серым цветом:

//////////////////////////////////////////////////////////////

// Панель управления Toolbar

IDR_MAINFRAME TOOLBAR DISCARDABLE 16, 15

BEGIN

 BUTTON ID_FILE_NEW

 BUTTON ID_FILE_OPEN

 BUTTON ID_FILE_SAVE

 SEPARATOR

 BUTTON ID_EDIT_CUT

 BUTTON ID_EDIT_COPY

 BUTTON ID_EDIT_PASTE

 SEPARATOR

 BUTTON ID_FILE_PRINT

 BUTTON ID_APP_ABOUT

END

Образ кнопок панели управления расположен в файле Toolbar.bmp, записанном в подкаталоге res каталога проекта (рис. 1.6):

//////////////////////////////////////////////////////////////

// Изображение Bitmap, определяющее кнопки приложения

IDR_MAINFRAME BITMAP MOVEABLE PURE "res\\Toolbar.bmp"

Панелям управления мы уделили в этой книге отдельную главу, которая имеет название “Меню, панели управления и панели состояния”. В ней описаны принципы устройства и работы панелей управления, приведены простые примеры создания дополнительных панелей управления, в том числе панелей управления на основе шаблонов диалоговых панелей.

Рис. 1.6. Панель управления

Таблица акселераторов

Таблица акселераторов IDR_MAINFRAME приложения полностью соответствует таблице акселераторов, добавленной MFC AppWizard к ресурсам приложения с однооконным интерфейсом:

//////////////////////////////////////////////////////////////

// Таблица акселераторов

IDR_MAINFRAME ACCELERATORS PRELOAD MOVEABLE PURE

BEGIN

 "N", ID_FILE_NEW, VIRTKEY,CONTROL

 "O", ID_FILE_OPEN, VIRTKEY,CONTROL

 "S", ID_FILE_SAVE, VIRTKEY,CONTROL

 "P", ID_FILE_PRINT, VIRTKEY,CONTROL

 "Z", ID_EDIT_UNDO, VIRTKEY,CONTROL

 "X", ID_EDIT_CUT, VIRTKEY,CONTROL

 "C", ID_EDIT_COPY, VIRTKEY,CONTROL

 "V", ID_EDIT_PASTE, VIRTKEY,CONTROL

Поделиться:
Популярные книги

Ваше Сиятельство 6

Моури Эрли
6. Ваше Сиятельство
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Ваше Сиятельство 6

Наследник

Кулаков Алексей Иванович
1. Рюрикова кровь
Фантастика:
научная фантастика
попаданцы
альтернативная история
8.69
рейтинг книги
Наследник

Граф

Первухин Андрей Евгеньевич
8. Ученик
Фантастика:
фэнтези
попаданцы
5.25
рейтинг книги
Граф

Ваше Сиятельство 5

Моури Эрли
5. Ваше Сиятельство
Фантастика:
городское фэнтези
аниме
5.00
рейтинг книги
Ваше Сиятельство 5

Династия. Феникс

Майерс Александр
5. Династия
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Династия. Феникс

Государь

Кулаков Алексей Иванович
3. Рюрикова кровь
Фантастика:
мистика
альтернативная история
историческое фэнтези
6.25
рейтинг книги
Государь

Убийца

Бубела Олег Николаевич
3. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.26
рейтинг книги
Убийца

Кодекс Охотника. Книга V

Винокуров Юрий
5. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
4.50
рейтинг книги
Кодекс Охотника. Книга V

Кодекс Крови. Книга I

Борзых М.
1. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга I

На границе империй. Том 5

INDIGO
5. Фортуна дама переменчивая
Фантастика:
боевая фантастика
попаданцы
7.50
рейтинг книги
На границе империй. Том 5

Законник Российской Империи

Ткачев Андрей Юрьевич
1. Словом и делом
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Законник Российской Империи

Газлайтер. Том 8

Володин Григорий
8. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 8

Наследие Маозари

Панежин Евгений
1. Наследие Маозари
Фантастика:
рпг
попаданцы
аниме
5.80
рейтинг книги
Наследие Маозари

Новые горизонты

Лисина Александра
5. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Новые горизонты