Панель управления 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
> VK_BACK, ID_EDIT_UNDO, VIRTKEY,ALT
> VK_DELETE, ID_EDIT_CUT, VIRTKEY,SHIFT
> VK_INSERT, ID_EDIT_COPY, VIRTKEY,CONTROL
> VK_INSERT, ID_EDIT_PASTE, VIRTKEY,SHIFT
> VK_F6, ID_NEXT_PANE, VIRTKEY
> VK_F6, ID_PREV_PANE, VIRTKEY,SHIFT
>END
Мы расскажем вам подробнее о таблице акселераторов в разделе “Таблица акселераторов”. Дополнительную информацию вы сможете получить в 13 томе серии “Библиотека системного программиста”.
Диалоговая панель
В ресурсах приложения определена диалоговая панель с идентификатором IDD_ABOUTBOX. Она содержит краткую информацию о приложении и отображается на экране, когда пользователь выбирает из меню Help строку About Multi:
>//////////////////////////////////////////////////////////////
>// Версия
>VS_VERSION_INFO VERSIONINFO
> FILEVERSION 1,0,0,1
> PRODUCTVERSION 1,0,0,1
> ILEFLAGSMASK 0x3fL
>#ifdef _DEBUG
> FILEFLAGS 0x1L
>#else
> FILEFLAGS 0x0L
>#endif
> FILEOS 0x4L
> FILETYPE 0x1L
> FILESUBTYPE 0x0L
>BEGIN
> BLOCK "StringFileInfo"
> BEGIN
> BLOCK "040904B0"
> BEGIN
> VALUE "CompanyName", "Solaris\0"
> VALUE "FileDescription", "MULTI MFC Application\0"
> VALUE "FileVersion", "1, 0, 0, 1\0"
> VALUE "InternalName", "MULTI\0"
> VALUE "LegalCopyright",
>"Copyright © 1996 Frolov G.V.\0"
> VALUE "OriginalFilename", "MULTI.EXE\0"
> VALUE "ProductName", "MULTI Application\0"
> VALUE "ProductVersion", "1, 0, 0, 1\0"
> END
> END
> BLOCK "VarFileInfo"
> BEGIN
> VALUE "Translation", 0x409, 1200
> END
>>END
Таблица текстовых строк
Ресурсы приложения содержат несколько блоков, описывающих таблицы текстовых строк. Эти таблицы практически совпадают с таблицами текстовых строк, включенных MFC AppWizard в ресурсы приложения с однооконным интерфейсом.
Блоки текстовых строк, описывающие тип документов приложения, и основные характеристики главного окна приложения совпадают с соответствующими блоками однооконного приложения, за исключением строки с названием проекта:
>//////////////////////////////////////////////////////////////