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

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

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

Все ресурсы приложения хранятся в отдельном каталоге. Этот каталог называется RES и располагается в главном каталоге проекта. Однако нет необходимости каждый раз вручную открывать файлы с ресурсами. Для этого надо использовать средства, предоставляемые средой Visual C++.

Просмотреть ресурсы приложения можно в окне Project Workspace на странице ResourceView. Ресурсы приложения представлены в виде дерева и разделяются по типам. Чтобы просмотреть ресурсы определенного типа, надо установить курсор на символ

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

Ресурс Описание

 Accelerators Акселераторы

 Bitmaps Растровые изображения в формате BMP

 Cursors Курсоры

 Dialogs Диалоговые панели

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

 Menus Меню

 String tables Таблицы текстовых строк

 Toolbars Панели управления

 Version information Сведения о версии приложения

 Имя определяется программистом Ресурс, определяемый самим пользователем

MFC AppWizard автоматически создает несколько различных ресурсов для приложения Dialog. Вы можете просмотреть эти ресурсы в окне Project Workspace, выбрав страницу ResourceView. Как видите ресурсы приложения включают две диалоговые панели, пиктограмму, таблицу строк и информацию о версии приложения. Рассмотрим эти ресурсы подробнее.

Диалоговые панели приложения Dialog

Диалоговые панели имеют идентификаторы IDD_DIALOG_DIALOG и IDD_ABOUTBOX. Диалоговая панель IDD_DIALOG_DIALOG – это и есть главная диалоговая панель приложения. Она будет отображаться на экране монитора сразу после запуска приложения.

Просмотрите внешний вид диалоговой панели IDD_DIALOG_DIALOG в редакторе ресурсов. Для этого сделайте двойной щелчок по ее названию в окне Project Workspace. Изначально эта панель содержит только две кнопки OK и Cancel, а также короткую текстовую строку. Впоследствии вы можете изменять эту панель, добавляя к ней новые органы управления.

Вторая диалоговая панель IDD_ABOUTBOX содержит информацию о приложении – его название, авторские права, год разработки и пиктограмму. Эта панель будет отображаться на экране, когда пользователь выберет строку About из системного меню главной диалоговой панели приложения.

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

Ниже мы привели фрагменты из файла ресурсов приложения Dialog, в которых определяются шаблоны диалоговых панелей IDD_ABOUTBOX и IDD_DIALOG_DIALOG.

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

// Шаблоны диалоговых панелей приложения

IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 217, 55

STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU

CAPTION "About Dialog"

FONT 8, "MS Sans Serif"

BEGIN

 ICON IDR_MAINFRAME,IDC_STATIC,11,17,20,20

 LTEXT "Dialog Version 1.0", IDC_STATIC,40,10,119,8,SS_NOPREFIX

 LTEXT "Copyright © 1996", IDC_STATIC, 40, 25, 119, 8

 DEFPUSHBUTTON "OK",IDOK,178,7,32,14,WS_GROUP

END

IDD_DIALOG_DIALOG DIALOGEX 0, 0, 185, 92

STYLE DS_MODALFRAME|WS_POPUP|WS_VISIBLE|WS_CAPTION|WS_SYSMENU

EXSTYLE WS_EX_APPWINDOW

CAPTION "Dialog"

FONT 8, "MS Sans Serif"

BEGIN

 PUSHBUTTON "Cancel",IDCANCEL,128,23,50,14

 DEFPUSHBUTTON "OK",IDOK,128,7,50,14

 LTEXT "TODO: Place dialog controls here.", IDC_STATIC,5,34,113,8

END

Пиктограмма

В файле ресурсов приложения указана единственная пиктограмма, имеющая идентификатор IDR_MAINFRAME. Эта пиктограмма содержится в файле Dialog.ico, в каталоге res.

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

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

IDR_MAINFRAME ICON DISCARDABLE "res\Dialog.ico"

Пиктограмма IDR_MAINFRAME содержит два цветных изображения с разрешением 32?32 и 16?16 пикселов (рис. 4.7). Вы можете изменить эти пиктограммы по своему усмотрению.

Рис. 4.7. Пиктограммы приложения Dialog

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

В таблице текстовых строк проекта Dialog определена только одна текстовая строка &About Dialog…, имеющая идентификатор IDS_ABOUTBOX. Эта строка содержит текст нового элемента, который будет добавлен к системному меню главной диалоговой панели приложения. Если пользователь выберет эту строку меню, приложение выведет на экран небольшую диалоговую панель, с краткой информацией о приложении.

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

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

STRINGTABLE DISCARDABLE

BEGIN

 IDS_ABOUTBOX "&About Dialog…"

END

Версия

Во всех приложениях, созданных с использованием MFC AppWizard, определен специальный ресурс, содержащий различные сведения о версии приложения (4.8). Приложение Dialog также содержит такой ресурс, который имеет идентификатор VS_VERSION_INFO.

Рис. 4.8. Информация о версии приложения

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