Графічні можливості delphi використання ресурсів, перегляд мультиків, delphi, компоненти

Створення файлу ресурсів

Для того щоб скористатися можливістю завантаження картинки з ресурсу, необхідно спочатку створити файл ресурсів, помістивши в нього потрібні картинки.

Для того щоб створити новий файл ресурсів, треба з меню File вибрати команду New. а потім в підменю - команду Resource File (Файл ресурсів)

В результаті відкривається вікно нового файлу ресурсів, а в рядку меню вікна Image Editor з'являється новий пункт - Resource (рис. 10.20).

Мал. 10.19. Діалогове вікно Image Editor

Мал. 10.20. Створення нового файлу ресурсів а вікні Image Editor

Для того щоб в цей файл додати новий ресурс, необхідно вибрати команду New меню Resource і з списку - тип ресурсу. В даному випадку слід вибрати Bitmap (бітовий образ). Після вибору Bitmap відкривається діалогове вікно Bitmap Properties (Властивості бітового образу) (рис. 10.21), використовуючи яке можна встановити розмір (в пікселах) і кількість квітів створюваної картинки.

Натискання кнопки ОК в діалоговому вікні Bitmap Properties викликає поява елемента Bitmap1 в ієрархічному списку Contents. Цей елемент відповідає новому ресурсу, доданому в файл (рис. 10.22).

Мал. 10.21. Діалогове вікно Bitmap Properties

Графічні можливості delphi використання ресурсів, перегляд мультиків, delphi, компоненти

Мал. 10.22. Вікно файлу ресурсів після додавання ресурсу Bitmap

Як приклад на рис. 10.23 наведено вид діалогового вікна Image Editor. в якому знаходиться файл ресурсів для програми aplane. Файл містить два бітових образу з іменами FACTORY і APLANE.

Мал. 10.23. Діалогове вікно Image Editor з файлом ресурсів

Графічні можливості delphi використання ресурсів, перегляд мультиків, delphi, компоненти

Якщо потрібна картинка вже існує у вигляді окремого файлу, то її можна через буфер обміну (clipboard) помістити в бітовий образ файлу ресурсів. Робиться це в такий спосіб.

Підключення файлу ресурсів

Для того щоб ресурси були доступні програмі, необхідно в текст програми включити інструкцію (директиву), яка повідомить компілятору, що в файл виконуваної програми слід додати вміст файлу ресурсів.

У загальному вигляді ця директива виглядає наступним чином:

де ФайлРесурсов - ім'я файлу ресурсів.

Наприклад, директива може виглядати так:

Примітка: Якщо імена файлу модуля програми і файлу ресурсів збігаються, то замість імені файлу ресурсів можна поставити "*".

В цьому випадку директива включення файлу ресурсів в файл виконуваної програми виглядає так:

Завантажити картинку з ресурсу в змінну типу TBitMap можна за допомогою методу LoadfromResourceName, який має два параметри:

ідентифікатор програми і ім'я ресурсу.

В якості ідентифікатора програми використовується глобальна змінна Hinstance. Ім'я ресурсу повинно бути представлено у вигляді строкової константи.

Наприклад, інструкція завантаження картинки в змінну pic може виглядати так:

Pic. LoadFromResourceName (HInstance, 'FACTORY');

Як приклад в лістингу 10.11 наведено текст програми, в якій зображення фону і літака завантажується з ресурсів.

Лістинг 10.11. Приклад завантаження картинок з ресурсу

Переваги завантаження картинок з ресурсу програми очевидні: при поширенні програми не треба піклуватися про те, щоб під час роботи програми були доступні файли ілюстрацій, всі необхідні програмі картинки знаходяться в виконуваному файлі.

Тепер розглянемо, як можна реалізувати висновок в діалоговому вікні про-

грами простого "мультика", подібного до того, який можна бачити в діа-

лігвом вікні Установка зв'язку при підключенні до Internet (рис. 10.24).

Тепер розглянемо, як можна реалізувати висновок в діалоговому вікні програми простого "мультика", подібного до того, який можна бачити в діалоговому вікні

Установка зв'язку при підключенні до Internet (рис. 10.24).

Рис, 1О.24. Приклад мультика в діалоговому вікні Установка зв'язку

Мал. 10.25. Картинки, які використовуються для реалізації мультика в діалоговому вікні Установка зв'язку

Кадри мультика зазвичай знаходяться в одному файлі або в одному ресурсі. Перед початком роботи програми вони завантажуються в буфер, в якості якого зручно використовувати об'єкт типу TBitMap. Завдання процедури, що реалізує висновок мультика, полягає в тому, щоб виділити черговий кадр і вивести його в потрібне місце форми.

Як параметри області! і Область? використовуються структури типу TRect, поля яких визначають положення і розмір області.

Заповнити поля структури TRect можна за допомогою функції Bounds, інструкція звернення до якої в загальному вигляді виглядає так:

Наступна програма, текст якої наведено в лістингу 10.12, виводить в діалогове вікно простий мультик - Дельфійські колону, навколо якої "літає" деякий об'єкт. На рис. 10.26 наведені кадри цього мультика (вміст файлу film.bmp).

Діалогове вікно програми наведено на рис. 10.27, воно містить один єдиний компонент - таймер.

Мал. 10.26. кадри мультика

Мал. 1О.27. форма програми

Лістинг 10.12. Мультик (використання методу CopRect)