Кент Рейсдорф. BORLAND C++BUILDER. Раздел 3

Кент Рейсдорф. BORLAND C++BUILDER. Страница 266

Вы можете добавлять в ваш проект либо .res, либо .rc-файл, используя менеджер проектов. Чтобы добавить файл ресурсов в проект, вам нужно сначала вызвать менеджер проектов, выбрав в главном меню пункт View | Project Manager. Когда появится диалоговое окно Project Manager, нажмите кнопку Add То Project (Добавить в проект). В появившемся диалоговом окне File Open выберите файл ресурсов, который вы хотите добавить в проект, и нажмите кнопку ОК. Файл ресурсов появится в окне менеджера проектов вместе с остальными файлами приложения. Я буду подробно говорить о менеджере проектов завтра.

В листингах 9.2 и 9.3 приведены заголовок и модуль главной формы для программы с названием Jumping Jack. Эта программа — простая мультяшка со звуковыми эффектами. На основной форме находятся только две кнопки, компонент Image и компонент Label. Программа Jumping Jack иллюстрирует некоторые аспекты использования ресурсов в приложении C++Builder. (Эту программу вы найдете на компакт-диске, кото­рый прилагается к книге.) На примере этой программы вы узнаете, как загрузить растровое изображение, существующее в виде ресурса, как загрузить и вывести строковый ресурс и как проиграть звуковой ресурс. Листинг 9.4 — это часть файла ресурсов, который используется программой Jumping Jack.




Листинг 9.4. Начало файла JJRes.rc

*Обратите внимание на строки 23 и 24 объявления класса главной

. формы в заголовочном файле из листинга 9.2. В строке 23 объявлен член типа bool, который используется для остановки анимации. Функция-член класса, объявленная в строке 24, используется для вывода растрового изображения в компоненте Image.

В листинге 9.3 следует обратить внимание на две функции API Windows, используемые для загрузки строк и звукового файла из соответствующих ресурсов. В строке 78 функция LoadString() загружает строковый ресурс в буфер, используя числовой идентификатор строки (как создаются строковые ресурсы, видно из листинга 9.4). Затем эта строка устанавливается в качестве значения свойства Caption компонента Label. В строке 83 используется функ­ция PlaySound(), которая проигрывает звуковой файл, содержащийся в ре­сурсе. Флаг SND_ASYNC, используемый в качестве аргумента функции PlaySound(), указывает Windows немедленно возвратить управление про­грамме после начала воспроизведения. Это позволяет продолжать анимацию во время проигрывания звука. Флаг SND_RESOURCE сообщает Windows, что звук хранится в виде ресурса, а не как файл на диске. Обе функции, LoadString() и PlaySound(), используют глобальную переменную HInstance, указывающую Windows, что ресурс нужно искать в исполняемом файле.

Web-дизайн (с) 2010 All rights reserved