в нем появится название открытого файла. Содержимое файла будет недоступно. Чтобы вы смогли просматривать и изменять содержимое открытого файла, необходимо добавить специальный код. Мы займемся этим в разделе “Простейший графический редактор” данной главы.
Рис. 5.10. Приложение Single
Ресурсы приложения
Приложение с однооконным интерфейсом, созданное средствами MFC AppWizard, имеет гораздо больше ресурсов, чем приложение, использующее в качестве интерфейса обыкновенную диалоговую панель. В нем определены не только диалоговые панели, таблица текстовых строк, пиктограмма и ресурс описания версии приложения, но также меню, панель управления и таблица акселераторов.
Большой интерес для нас представляет ресурс, описывающий меню приложения. В ресурсах приложения определен только один шаблон меню, имеющий идентификатор IDR_MAINFRAME.
Когда пользователь выбирает строки меню, операционная система передает командное сообщение главному окну приложения.
//////////////////////////////////////////////////////////////
// Меню
IDR_MAINFRAME MENU PRELOAD DISCARDABLE
BEGIN
POPUP '&File'
BEGIN
MENUITEM '&New Ctrl+N', ID_FILE_NEW
MENUITEM '&Open… Ctrl+O', ID_FILE_OPEN
MENUITEM '&Save Ctrl+S', ID_FILE_SAVE
MENUITEM 'Save &As…', ID_FILE_SAVE_AS
MENUITEM SEPARATOR
MENUITEM '&Print… Ctrl+P',ID_FILE_PRINT
MENUITEM 'Print Pre&view', ID_FILE_PRINT_PREVIEW
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 '&Edit'
BEGIN
MENUITEM '&Undo Ctrl+Z', ID_EDIT_UNDO
MENUITEM SEPARATOR
MENUITEM 'Cu&t Ctrl+X', ID_EDIT_CUT
MENUITEM '&Copy Ctrl+C', ID_EDIT_COPY
MENUITEM '&Paste Ctrl+V', ID_EDIT_PASTE
END
POPUP '&View'
BEGIN
MENUITEM '&Toolbar', ID_VIEW_TOOLBAR
MENUITEM '&Status Bar', ID_VIEW_STATUS_BAR
END
POPUP '&Help'
BEGIN
MENUITEM '&About Single…', ID_APP_ABOUT
END
END
Большая часть строк меню IDR_MAINFRAME имеет стандартные идентификаторы, описанные в библиотеке MFC. Некоторые из команд, соответствующих этим идентификаторам полностью обрабатываются MFC. Список стандартных команд с их описанием представлен в разделе “Стандартные команды”.
Многие современные приложения, в том числе все приложения имеющие оконный интерфейс и созданные с использованием средств MFC AppWizard, имеют панель управления. Эта панель располагается как правило ниже меню главного окна приложения и содержит ряд кнопок.
//////////////////////////////////////////////////////////////
// Панель управления 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 каталога проекта.
//////////////////////////////////////////////////////////////
// Изображение Bitmap, определяющее кнопки приложения
IDR_MAINFRAME BITMAP MOVEABLE PURE 'res\Toolbar.bmp'
В файле ресурсов приложения Single определены две пиктограммы IDR_SINGLETYPE и IDR_MAINFRAME. Каждая из этих пиктограмм содержит по два изображения различного размера 32×32 и 16×16 пикселов.
//////////////////////////////////////////////////////////////
// Пиктограммы
IDR_MAINFRAME ICON DISCARDABLE 'res\Single.ico'
IDR_SINGLETYPE ICON DISCARDABLE 'res\SingleDoc.ico'
Пиктограмма IDR_MAINFRAME представляет минимизированное приложение (рис. 5.11). Эта же пиктограмма отображается в левом верхнем углу главного окна приложения.
Рис. 5.11. Пиктограмма IDR_MAINFRAME