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

Рис. 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. Список стандартных команд с их описанием представлен в разделе “Стандартные команды”.

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

Многие современные приложения, в том числе все приложения имеющие оконный интерфейс и созданные с использованием средств 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

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

0

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

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