Главная » C++, C++ Builder » Кое-что о файлах ресурсов в CBuilder

0

Хотя вы обычно будете создавать ресурс с помощью какой-нибудь утилиты, например Resource Workshop в Borland C++ или Resource Editor в Visual C++, вы, разумеется , можете создать файл ресурса самостоятельно. Есть элементы, разрешенные в файле ресурсов, которые имеют значение для приложения в CBuilder, и несколько элементов, которые почти не имеют никакого значения. Давайте сделаем небольшой обзор тех вещей, которые вы можете поместить в файл ресурсов, а также тех, которые вы вряд ли будете когда-либо использовать.

Таблица строк — первый элемент, который бывает в файлах ресурсов.  Как мы видели,  ресурс таблицы строк хорошо подходит для  разноязычных строк и для изменения  текста в форме «на ходу». У таблицы строк следующий синтаксис:

STRINGTABLE  DISCARDABLE BEGIN

id string END

где  id  —  идентификатор,  который  вы  хотите  сопоставить  строке.  Строка  (string)  в  данном листинге представляет собой ту самую строку, которую вы хотите добавить в таблицу.

Другим, очень популярным типом ресурса является ресурс «растровый рисунок» (bitmap). Этот ресурс позволяет вам определить рисунок, который может быть загружен программой во время выполнения, но хранится он вместе с приложением. Ресурсы bitmap имеют следующий синтаксис:

id BITMAP DISCARDABLE "bitmapfile"

где id — число, сопоставленное рисунку, а bitmapfile — имя файла, в котором в системе Windows

лежит этот рисунок. Например, если вы хотите добавить рисунок

«clouds» (облака), который находится в каталоге Windows, то вам нужно написать следующее: 102 BITMAP DISCARDABLE "c:\windows\clouds.bmp"

Флажок DISCARDABLE говорит системе Windows о том, что при необходимости (если  не хватает физической памяти для чего-нибудь) этот рисунок можно временно выгрузить на диск. Обычно нет причин не ставить этот флажок для рисунков.

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

menu-id MENU PRELOAD DISCARDABLE BEGIN

POPUP main-menu-name BEGIN

MENUITEM sub-menu-string, sub-menu-id [,GRAYED] MENUITEM SEPARATOR

END END

где параметр menu-id представляет собой идентификатор, который  используется  при  загрузке этого ресурса меню в приложение. Main-menu-name представляет строку, которая будет отображаться как название пункта главного меню. Хорошим примером этого служит меню File, которое встречается почти во всех приложениях Windows. Любое название пункта (имя меню) может содержать необязательный символ & (амперсанд), что сделает следующий символ в имени подчеркнутым при отображении меню (этот пункт будет доступен при  нажатии  подчеркнутой буквы на клавиатуре).

Параметр  sub-menu-string является названием пункта меню,  отображаемого, когда главное меню

«выпадает» вниз. Например, команда Exit в меню File. Используя стандартное обозначение команд меню, в последовательности File|Exit часть File представляет параметр main-menu-name, а часть Exit — параметр sub-menu-name. Соответственно, sub-menu-id является  идентификатором команды, связанной с этим пунктом меню. Это команда, которая вызывается выбором данного пункта меню. Необязательный параметр GRAYED указывает, что данный пункт меню будет вначале отображен как недоступный (бледный).

Еще один тип элемента меню — SEPARATOR (разделитель). Этот элемент отображается в виде горизонтальной линии, которой можно разделять, например, группы однотипных команд.

Вы вряд ли будете использовать ресурс DIALOG (диалог). Этот тип ресурса представляет собой шаблон окна диалога. Вам не нужно определять эти шаблоны  для  использования  диалогов  в вашем приложении, так как CBuilder строит для вас окна диалога в виде форм в вашем проекте.

Последний тип ресурса, который вы можете определить в вашем приложении — пользовательский

ресурс (user resource). Этот тип ресурса предназначен для хранения данных любого вида, которые вам нужны, если вам не подходят никакие другие  типы ресурсов. Трудно представить пример такого ресурса, так как нет четкого определения пользовательского ресурса. Важно отметить, что все данные для форм CBuilder хранятся в исполняемом файле в виде пользовательских ресурсов. Эта информация содержит такие вещи, как значения свойств, определения меню, обработчики событий в форме. Вы можете посмотреть на информацию, содержащуюся в ресурсе формы, просмотрев форму в текстовом виде. Это можно сделать, нажав на форме правую кнопку мыши и выбрав из появившегося локального меню команду View as Text (посмотреть в текстовом виде).

Источник: Теллес М. – Borland C++ Builder. Библиотека программиста – 1998

По теме:

  • Комментарии