Графічні можливості 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
Мал. 10.22. Вікно файлу ресурсів після додавання ресурсу Bitmap
Як приклад на рис. 10.23 наведено вид діалогового вікна Image Editor. в якому знаходиться файл ресурсів для програми aplane. Файл містить два бітових образу з іменами FACTORY і APLANE.
Мал. 10.23. Діалогове вікно Image Editor з файлом ресурсів
Якщо потрібна картинка вже існує у вигляді окремого файлу, то її можна через буфер обміну (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)