Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторна робота 10.doc
Скачиваний:
0
Добавлен:
30.11.2018
Размер:
224.77 Кб
Скачать
  1. Виведіть зображення фону та рисунку на форму за допомогою методу Draw()

void _fastcall TForml::FormPaint(TObject *Sender)

{

Canvas->Draw(0,0,back); //фон

Canvas->Draw(x,у,sprite); // рисунок }

  1. Завантажте бітове зображення із ресурсу програми

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

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

  1. Створити файл ресурсів

Файл ресурсів можна створити за допомогою утиліти Image Editor, яка поставляється разом з C++ Builder. Запустіть Image Editor із C++ Builder, вибравши в меню Tools команду Image Editor, або із Windows, вибравши команду Пуск\Програми\Borland C++Builder\Image Editor.

Для, того щоб створити файл ресурсів, потрібно в меню File вибрати команду New\Resource File. У результаті виконання команди буде створено файл ресурсів Untitledl.res, у який потрібно помістити необхідні ресурси.

Для, того щоб у файл ресурсів додати новий ресурс, потрібно в меню Resource вибрати команду New\Bitmap. У результаті виконання цієї команди відкривається діалогове вікно Bitmap Properties, в якому потрібно встановити розмір бітового зображення і вибрати палітру. Bitmap 1 — це автоматично створене ім’я ресурсу, яке можна змінити, вибравши команду Resource Rename.

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

1. Спочатку потрібно запустити графічний редактор, наприклад Microsoft Paint, завантажити в нього файл картинки і виділити всю картинку або її частину. У процесі виділення потрібно звернути увагу на інформацію про розмір (у пікселях) виділеної області (Paint виводить розмір виділеної області в стрічці стану). Потім, вибравши команду Копіювати меню Правка, необхідно помістити копію виділеного фрагменту в буфер.

2. Далі потрібно переключитись в Image Editor, вибрати ресурс, в який помістити з буферу картинку, і встановити значення характеристик ресурса відповідно з характеристиками картинки. Значення характеристик ресурсу вводяться в поля діалогового вікна Bitmap Properties, яке відкривається вибором команди Image Properties меню Bitmap. Після встановлення характеристик ресурсу можна вставити картинку в ресурс, вибравши команду Past меню Edit.

Після добавлення всіх потрібних ресурсів файл ресурсу потрібно зберегти в тому ж каталозі, де знаходиться програма, для якої цей файл створений. Зберігається файл ресурсу вибором команди File\ Save\Image Editor присвоюється файлу ресурсів розширення res.

  1. Підключити файлу ресурсів

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

Ця директива виглядає таким чином:

#pragma resource Файл ресурсів

де файл ресурсів — ім’я файлу ресурсів.

Наприклад:

#pragma resource "images.res"

Завантажити бітове зображення із ресурсу можна за допомогою методу LoadFromResourceName, який має два параметри: ідентифікатор програми і ім’я ресурсу. У якості ідентифікатора програми використовується глобальна змінну Hinstance. Ім'я ресурсу повинно бути представлене у вигляді стрічкової константи.

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

#pragma resource "images.res"

void __fastcall TForml::FormCreate (TObject *Sender)

{

// завантажити фоновий рисунок із ресурсу

back = new Graphics::TBitmap();

back->LoadFromResourceName((int)HInstance,"FACTORY");

// встановити розмір рабочої області форми увідповідності з розміром фонового рисунка

ClientWidth = back->Width;

ClientHeight = back->Height;

// завантажити зображення об’єкта із ресурсу

sprite = new Graphics::TBitmap();

sprite->LoadFromResourceName((int)HInstance,"APLANE");

sprite->Transparent = true;

// вихідне положення літака

x=-20; // щоб літак вилітав із лівої границі вікна

у=20;

}