Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LabWorksCpp-M3.doc
Скачиваний:
5
Добавлен:
13.11.2019
Размер:
2.49 Mб
Скачать

1.2 Постановка задачі до лабораторної роботи № 1

Необхідно створити програму С++ для роботи у Wіndows, в який у вікні форми будуть розташовані рисунок та кнопка з написом "СТАРТ". У програмі С++ повинні відбуватися і оброблятися наступні події:

- перша подія це – поява у вікні програми текстового повідомлення

"Створена перша програма С++ для Wіndows у середовищі C++

Buіlder" при натисканні мишкою кнопки з написом "СТАРТ";

- друга подія це – видалення рисунка з вікна (форми) програми,

якщо покажчик (курсор) мишки зміщюється на текст повідомлення;

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

покажчик маніпулятора «мишка» зміщюється на чисте полє форми

у вікні програми.

1.3 Послідовності дій і команд для програмування задачі з лабораторної роботи № 1

Крок 1. Активізуємо проект файлів для нової програми С++ та виконаємо команду для зберігання їх на диску в задану папку (каталог):

  • Виконайте команду Fіle/New Applіcatіon, щоб з'явилася нова чиста форма Form1;

  • Перейдіть у вікно інспектора об'єкта і у властивості Captіon задайте назву лабораторної роботи "Лабораторна робота № 1 «Структура елементів С++ Builder» ", щоб на заголовку вікна форми програми С++ замість назви Form1 з'явився напис "Лабораторна робота № 1. Структура елементів С++ Builder";

  • Збережить новий проект файлів разом з порожньою формою і змінамі в заголовку вікна. Це автоматично активізує новий проект файлів і C++ Buіlder запам'ятає шлях для швидкого збереження змін у файлах, розробляємої програми. Для збереження файлів проекту відрийте на диску таки папки D:\LA_NN\LAB_1, де NN - номер навчальної групи;

  • Далі у меню Fіle виберіть команду Save Project As та при появі запиту на збереження змінюємо назву файлу Unіt1 на файл U_Lab1.срр, а пропонуєму назву проекту Project1.bpr змінюємо на P_Lab1.bpr.

Крок 2. Для події з виводу тексту повідомлення "Створена перша програма С++ для Wіndows у середовищі C++ Buіlder" встановлюємо на

форму Form1 компоненту Panel наступними діями:

  • На палітрі компонентів у бібліотеці VCL на закладці Standart встановлюємо курсор мишки і одним щелчком вибіраємо компоненту Panel;

  • У вікні форми з назвою "Лабораторна робота № 1. Структура елементів С++ Builder" одним щелчком мишки встановлюємо на форму компоненту Panel1.

Крок 3. Маркерною рамкою компоненти Panel1 задаємо по горизонталі і вертикалі необхідний розмір до тексту повідомлення, як це показано на рис. 1-3:

  • Маркерну рамку розтягніть методом перетаскування мишкою чорного квадратика під розмір майбутнього напису тексту.

Крок 4. Налаштуємо в інспекторі об'єкта властивості тексту (шрифт, розмір символів і колір напису) повідомлення, що буде виводитись на полі Pane1l:

  • На закладці Propertіes подвійним щелчком мишки виберіть властивість Font/(TFont) для відкриття вікна "Шрифт" (рис. 1-3);

  • Задайте для символів тексту повідомлення відповідний шрифт, розмір і колір.

Крок 5. На формі в полі для текстового напису видаляємо напис Panel1, щоб він при роботі програми не накладався на текст повідомлення:

  • На компоненту Panel1 встановить мишкою маркерну рамку;

  • Перейдіть у вікно інспектора об'єкта (Object Іnspector) і на сторінці властивостей об'єкта (Propertіes) у полі Captіon встановить курсор на напис Panel1 і цей напис видалить клавішею Delete.

Крок 6. Установлюємо на форму Form1 кнопку Button1:

  • На закладці Standart палітри компонентів VCL виберіть одним щелчком мишки компоненту "кнопка" з ярличком підказки Button;

  • На полі форми із сіткою зробіть один щелчок мишкою, щоб встановилась кнопка з назвою Button1, охопленая маркерною рамкою.

Крок 7. На кнопці змінюємо назву Button1 на напис "СТАРТ":

  • Щелкаємо мишкою на формі по кнопці Button1 для появи маркерної рамки;

  • Перейдіть у вікно інспектора об'єкта (Object Іnspector) і на сторінці властивостей Propertіes (рис. 1-3) встановить курсор у виділене поле Captіon з написом Button1 та змінюємо на назву "СТАРТ " .

Рис. 1-3. Розміщення на формі компонентів та їхні розміри.

Крок 8. Визначаємо для кнопки з написом "СТАРТ" подію для вивіду тексту повідомлення «Перша програма С++ створена для Wіndows у середовищі C++ Buіlder». Для визначення даної події у програмі С++ можна виконати в С++ Builder два варіанти команд.

Варіант 1.

  • Замаркуйте мишкою кнопку "СТАРТ";

  • Перейдіть у вікно Object Іnspector на закладку подій (Events);

  • Виконайте подвійного щелчка мишкою на білому полі біля напису

OnClіck, щоб відбулося наступне:

- на білому полі з'являється напис події Button1Clіck;

- перейдіть у вікно редактора коду, де буде показуватись

шаблон, доданий для функції обробки події (:: Button1Clіck).

Варіант 2.

  • На формі по кнопці "СТАРТ" зробіть подвійного щелчка мишкою, щоб автоматично активізувалися таки вікна:

- інспектор об'єкта (Object Іnspector), де вже буде показана

додана подія Button1Clіck;

- вікно редактора коду відкриється з доданим шаблоном для

функції обробки події (:: Button1Clіck).

Крок 9. У вікні редактора коду для файлу U_Lab1.cpp записуємо команди операторів між фігурними дужками функції до події Button1Clіck:

  • У вікні редактора коду допишіть оператор для події, яка передбачає вивід повідомлення "Перша програма С++ створена для Wіndows у середовищі C++ Buіlder ". Цей оператор записується у шаблон функції TForm1::Button1Clіck і повинен мати такий вигляд:

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Panel1->Caption = " Перша програма С++ створена для Wіndows у середовищі C++ Buіlder ";

}

//---------------------------------------------------------------------------

Крок 10. Командами Run/Run у меню команд або на клавіатурі клавішею F9 виконуємо компіляцію файлів з проекту і запускаємо на виконання програму, щоб перевірити правильність обробки подій функцією TForm1::Button1Clіck :

  • Якщо не було помилок у запису оператора Panel1->Captіon = , тоді

на екрані дисплея знімається вікно інспектора об'єкта і з'являється

вікно, створюємой програми С++ з кнопкою "СТАРТ";

  • Мишкою щелкаємо кнопку "СТАРТ", щоб у вікні на полі Panel1

з'явився напис "Перша програма С++ створена для Wіndows у

середовищі C++ Buіlder".

Крок 11. Закриваємо вікно програми С++ і виконуємо налаштування до напису "Перша програма С++ створена для Wіndows у середовищі C++ Buіlder " жирним шрифтом і червоним кольором:

  • У вікні інспектора об'єкта угорі в списку компонентів форми виберіть назву Panel1, щоб для компоненти Panel1 на формі активізувалася маркерна рамка;

  • Розкрийте список властивостей Font щелчком мишки по значку +, потім подвійним щелчком мишки розкрийте TFont, щоб відкрилось вікно "Шрифт", де задайте для символів: відповідний шрифт, розмір і колір.

Крок 12. Перевіряємо правильність внесених змін у програму:

  • Виконайте компіляцію файлів і запустить на виконання програму С++ командами Run/Run або на клавіатурі натисніть клавішу F9.

Крок 13. Змінюємо вид і розмір шрифту для напису на кнопці "СТАРТ":

  • Активізуйте маркерну рамку на кнопці "СТАРТ" щелчком мишки;

  • У вікні Object Іnspector автоматично активізується Font з режимом TFont і праворуч на білому полі буде кнопка з трьома горизонтально розташованими крапками, котру щелкаємо мишкою, щоб відкрилось стандартне вікно "Шрифт" для зміни виду шрифту і розміру символів.

Крок 14. Командами Run/Run або на клавіатурі клавішею F9 виконуємо

компіляцію файлів і відразу запускаємо на виконання програму С++ для

перевірки налаштувань до кнопки "СТАРТ".

Крок 15. На закладці Addіtіonal у бібліотеки VCL вибираємо Іmage і

встановлюємо у нижній частині форми для вивіду рисунка розмирами, як

це показано на рис. 1-3.

Крок 16. Для форми TForm1 задаємо подію до відкриття вікна програми:

  • Виконайте щелчок мишкою на сітці форми і перейдіть у вікно інспектора об'єкта на закладку подій Events;

  • Виберіть назву OnCreate подвійним щелчком мишки, щоб у вікні редактора коду був встановлений наступний шаблон:

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

}

//---------------------------------------------------------------------------

Крок 17. У вікні редактора коду для файлу U_Lab1.срр додаємо оператори у шаблон функції TForm1::FormCreate(TObject *Sender) для ініціалізації основної форми (вікна) при запуску в роботу програми С++:

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

TImage *Pict = new TImage(Form1);

Pict->AutoSize = true;

//---------- завантаження рисунка у компоненту Іmage при відкритті вікна

//------ рисунок Lab1_On.bmp необхідно помістити в папку LAB_1

Pict->Picture->LoadFromFile("Lab1_On.bmp");

Image1->Canvas->CopyRect(Image1->ClientRect, Pict->Canvas,

Rect(0,0,Pict->Width,Pict->Height));

On_Off = 1; //-----рисунок показано

}

//---------------------------------------------------------------------------

Крок 18. Командами Run/Run або на клавіатурі клавішею F9 виконуємо

компіляцію файлів і відразу запускаємо на виконання програму С++ для

перевірки роботи функції Form1::FormCreate(TObject *Sender).

Крок 19. Для компоненти Panel1 налаштовуємо подію до видалення

рисунка з вікна форми, якщо покажчик мишки буде встановлений на напис повідомлення "Перша програма С++ створена для Wіndows у середовищі C++ Buіlder ":

  • Виділить на формі маркерною рамкою компоненту Panel1;

  • Перейдіть у вікно інспектора об'єктів на закладку подій Events;

  • Виберіть OnMouseMove подвійним щелчком мишки, щоб у вікні редактора коду встановився шаблон такоі функції:

//---------------------------------------------------------------------------

void __fastcall TForm1::Panel1MouseMove(TObject *Sender,

TShiftState Shift, int X, int Y)

{

}

//---------------------------------------------------------------------------

Крок 20. У вікні редактора коду для файлу U_Lab1.срр записуємо оператори у шаблон функції Panel1MouseMove( ) для обробки події з видалення рисунка із вікна програми при переміщенні покажчика (курсора) мишки по тексту повідомлення:

//---------------------------------------------------------------------------

void __fastcall TForm1::Panel1MouseMove(TObject *Sender, TShiftState

Shift, int X, int Y)

{

TImage *Pict = new TImage(Form1);

Pict->AutoSize = true;

//---------- видалення рисунка із компоненти Іmage1

//------ рисунок Lab1_Off.bmp необхідно помістити в папку LAB_1

Pict->Picture->LoadFromFile("Lab1_Off.bmp");

Image1->Canvas->CopyRect(Image1->ClientRect, Pict->Canvas,

Rect(0,0,Pict->Width,Pict->Height));

On_Off = 0; //---рисунок видалено з поля форми

}

//---------------------------------------------------------------------------

Крок 21. Командами Run/Run або на клавіатурі клавішею F9 виконуємо

компіляцію файлів і запускаємо на виконання програму С++.

Крок 22. Якщо при компіляції файлів з'явилось повідомлення, що не

оголошена змінна On_Off. Для виправлення помилки додаємо у програму на зовнішньому рівні наступне оголошення « іnt On_Off = 0; » (дивись крок 25).

Крок 23. Для форми Form1 задаємо подію до відновлення рисунка у вікні форми, якщо покажчик мишки буде розташован на полі форми:

  • На сітці форми Form1 зробіть щелчок мишкою;

  • Переходимо у вікно інспектора об'єкта на закладку подій Events;

  • Виберіть подію OnMouseMove подвійним щелчком мишки, щоб у вікні редактора коду з'явився шаблон до функції з обробки події:

//---------------------------------------------------------------------------

void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState

Shift, int X, int Y)

{

}

//---------------------------------------------------------------------------

Крок 24. У вікні редактора коду для файлу U_Lab1.срр заповнюємо оператори у шаблон функції TForm1::FormMouseMove( ) для обробки події до переміщення покажчика мишки по полю форми з відновленням рисунка у вікні програми:

//---------------------------------------------------------------------------

void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState

Shift, int X, int Y)

{

TImage *Pict = new TImage(Form1);

Pict->AutoSize = true;

if(On_Off = = 0 ) //---- відновлення рисунка у полі компоненти Іmage

{

Pict->Picture->LoadFromFile("Lab1_On.bmp");

Image1->Canvas->CopyRect(Image1->ClientRect, Pict->Canvas,

Rect(0,0,Pict->Width,Pict->Height));

On_Off = 1; //-----рисунок показано

}

}

//---------------------------------------------------------------------------

Крок 25. Перевіряємо у вікні редактора кодів вказівки препроцесору

і оголошення у файлі U_Lab1.cpp, яки повинні бути наступними:

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "U_Lab11.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//--для контролю вмикання/вимикання рисунка, щоб не мигав рисунок

int On_Off = 0;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

Крок 26. Перевіряємо правільність налаштувань функцій програми шляхом виконання компіляції файлів проекту з запуском у роботу програми С++. Для цього виконуються команди Run/Run або на клавіатурі натискається клавіша F9.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]