Печатать книгуПечатать книгу

§ 5. Візуальнае асяроддзе распрацоўкі праграм

Сайт: Профильное обучение
Курс: Інфарматыка. 11 клас (Павышаны ўзровень)
Книга: § 5. Візуальнае асяроддзе распрацоўкі праграм
Напечатано:: Гость
Дата: Понедельник, 29 Апрель 2024, 04:49

Праца па стварэнні аконных дадаткаў разглядаецца ў асяроддзі праграмiравання CBuilder[1].



[1] https://www.embarcadero.com/ru/products/cbuilder/starter/free-download

5.1. Структура праекта

Пры стварэнні аконнага дадатку працуюць з праектам, які складаецца з некалькіх файлаў. У розных асяроддзях праграмiравання праект можа складацца з рознай колькасці файлаў. Абавязковымі файламі з'яўляюцца наступныя:

  • файл праграмнага модуля (1), які змяшчае апісанне функцый-апрацоўшчыкаў для аб'ектаў, размешчаных на форме;
  • файл формы (2), які змяшчае апісанне знешняга выгляду акна дадатку;
  • загалоўкавы файл (3), які змяшчае апісанне класа формы;
  • файл праекта (4), які дазваляе звязаць структурныя элементы праекта паміж сабой.

 (Разглядзіце прыклад 5.1)

Для стварэння праекта трэба выканаць каманды File New ˃ Windows VCL Applications — C++Builder (прыклад 5.2).

Пасля стварэння праекта неабходна захаваць файлы праекта (прыклад 5.3).

Файлы аднаго праекта звычайна захоўваюцца ўнутры асобнай папкі. Пры кампіляцыі дадатку ствараецца папка Win32 (Win64), у якой будзе захаваны файл з пашырэннем exe і імем, супадальным з імем праекта. Гэты файл запусціць дадатак без загрузкі асяроддзя праграмiравання. Астатнія файлы, якія ствараюцца ў гэтай папцы, неабходныя толькі для адладкі дадатку і могуць быць выдаленыя, калі праца над дадаткам скончана. (Як скампіляваць дадатак, каб яго можна было запусціць на камп'ютары, на якім не ўстаноўлена асяроддзе праграмiравання С++Builder, гл. у Дадатку.)

Для запуску дадатку можна выкарыстоўваць кнопкі   на панэлі хуткага доступу або клавішу F9.

Некаторыя карысныя настройкі асяроддзя апісаны ў Дадатку.

Прыклад 5.1. Файлы праекта:

Прыклад 5.2. Стварэнне праекта ў C++Builder:

 

Прыклад 5.3. Захаванне файлаў і выкананне праекта:

  1. Стварыць папку з імем Primer.
  2. Захаваць праект: File  Save Project As…
  3. Першым захоўваецца праграмны модуль (імя па змоўчанні — Unit1.cpp). Разам з гэтым файлам ствараюцца файлы Unit1.dfm і Unit1.h, імёны якіх супадаюць з імем файла праграмнага модуля і адрозніваюцца пашырэннямі.
  4. Далей захоўваецца загалоўкавы файл праекта імя па змоўчанні — Project1PCH1.h.
  5. Затым захоўваецца файл праекта (імя па змоўчанні — Project1.cbproj). У прыкладзе 5.1 гэтае імя заменена на primer.cbproj. Пры змене імя праекта аўтаматычна змяняецца і імя загалоўкавага файла праекта.
  6. Запусціць праект на выкананне.
Выгляд акна дадатку:

Каманды для кампіляцыі файлаў праекта знаходзяцца ў меню Project:

5.2. Інтэрфейс асяроддзя праграмiравання

Поўнае акно асяроддзя праграмiравання C++Builder можна паглядзець у Дадатку.

Разгледзім асноўныя элементы.

Асноўнае меню і панэль хуткага доступу (прыклад 5.4) змяшчаюць каманды для кіравання праектам: захаванне, загрузка, выкананне і інш.

Форма (прыклад 5.5) служыць для візуальнага адлюстравання акна дадатку. Падчас праектавання дадатку на форме адлюстроўваецца кропкавая сетка, якая дазваляе выраўноўваць кампаненты, якія змяшчаюцца на форму.

Інспектар аб'ектаў (прыклад 5.6) адлюстроўвае ўласцівасці (або падзеі) абранага аб'екта.

У левым слупку ўкладкі Properties пералічаны ўсе ўласцівасці аб'екта, якімі карыстальнік можа кіраваць пры праектаванні дадатку. У правым слупку названы значэнні уласцівасцей, якія можна змяняць.

Укладка Events змяшчае спіс падзей для аб'екта. Для кожнай падзеі можа быць вызначаны свой апрацоўшчык. Калі апрацоўшчык для падзеі вызначаны, насупраць падзеі будзе прапісана імя функцыі апрацоўшчыка.

Палітра кампанентаў (прыклад 5.7) змяшчае спіс візуальных кампанентаў, аб'яднаных у групы. Раскрыццё групы адбываецца па пстрычцы на значок . Поле для пошуку  дазваляе хутка знаходзіць неабходны кампанент

Прыклад 5.4. Меню і панэль хуткага доступу:

Прыклад 5.5. Форма:

Прыклад 5.6. Інспектар аб'ектаў. Адлюстроўваюцца ўласцівасці формы:

Адлюстроўваюцца падзеі кнопкі:

Прыклад 5.7. Палітра кампанентаў:

5.3. Работа з формай

Форма з'яўляецца аб'ектам і служыць для візуальнага адлюстравання акна дадатку. Як любы аб'ект, форма валодае ўласцівасцямі (прыклад 5.8).

Уласцівасці

Прызначэнне

Caption

Загаловак (знешняе імя) формы адлюстроўваецца ў радку загалоўка акна пры запуску дадатку. Па змоўчанні — Form1

Color

Колер формы. Можа быць абраны адзін са стандартных (пералічаны ў спісе) або зададзены ўручную. Колькасць колераў адпавядае палітры RGB — 16777215 (2563— 1)

Height

Вышыня формы

Weight

Шырыня формы

Left

Гарызантальная каардыната становішча верхняга левага вугла акна формы на экране

Top

Вертыкальная каардыната становішча верхняга левага вугла акна формы на экране

Name

Імя (унутранае) формы. Выкарыстоўваецца ў праграмным кодзе для звароту да аб'екта. З'яўляецца ідэнтыфікатарам

Для стварэння апрацоўшчыка падзей формы трэба ў інспектары аб'ектаў перайсці на ўкладку Events, выбраць падзею. Функцыя генерыруецца аўтаматычна пры падвойным кліку мышшу ў пустым радку насупраць абранай падзеі. Пасля гэтага асяроддзе перамыкаецца на старонку, на якой пішацца код (прыклад 5.9).

Імя функцыі-апрацоўшчыка складаецца з назвы кампанента, над якім адбываецца падзея, і назвы падзеі (FormClick).

Для пераключэння паміж акном праграмнага кода і канструктарам дызайну формы можна скарыстацца наступнымі магчымасцямі:

  • кнопка  на панэлі хуткага доступу;
  • клавіша F12;
  • укладкі Unit i Design у ніжняй частцы акна дадатку: 

Пры стварэнні функцый-апрацоўшчыкаў уласцівасці аб'ектаў можна змяняць шляхам напісання праграмнага кода. Зварот да ўласцівасцей аб'екта адбываецца праз паказальнік, таму ўжываецца знак стрэлка «->». Спачатку паказваецца імя аб'екта, затым імя ўласцівасці. Напрыклад, для ўстаноўкі колеру формы трэба запісаць наступную каманду:

Form1 -> Color = clAqua;

Сістэма C++Builder дазваляе спрасціць увод складаных імёнаў у код праграмы. Пасля таго як вы набераце Form1->, на экране з'явіцца спіс з усімі ўласцівасцямі і метадамі, якія адносяцца да аб'екта Form1 (прыклад 5.10).

Прыклад 5.11. Стварыць апрацоўшчык падзеі для пстрычкі левай клавішай мышы па форме, у выніку якога колер формы павінен памяняцца на чырвоны (працягнуць працу з прыкладам 5.8).

Этапы выканання задання

  1. Перайсці на ўкладку Events у акне інспектара аб'ектаў.
  2. Выканаць двайную пстрычку ў полі насупраць падзеі OnClik.
  3. У акне рэдактара кода, у функцыі TForm1::FormClick(TObject *Sender); упісаць каманду Form1 -> Color = clRed;
  4. Захаваць змены ў праекце.

Прыклад 5.8. Змяненне ўласцівасцей формы ў інспектару аб'ектаў:

Уласцівасці

Прызначэнне

Caption

Прыклад 1

Color

clAqua (выбраць з спісу)

Height

250

Weight

250

Left

200

Top

200

Пасля змены значэнняў уласцівасцей у інспектару аб'ектаў зменіцца знешні выгляд формы:

Прыклад 5.9. Стварэнне апрацоўшчыка падзеі OnClick (клік левай клавішай мышы) для формы.

1. Выбар падзеі ў інспектару аб'ектаў:

2. Акно праграмнага кода з устаўленым апрацоўшчыкам:

Прыклад 5.10. Падказка сістэмы пры ўводзе ўласцівасцяў аб'екта:

Калі вы ўведзяце першыя літары назвы ўласцівасці (метаду), то ў спісе застануцца толькі тыя ўласцівасці і метады, назвы якіх пачынаюцца на гэтыя літары. Пасля гэтага патрэбную ўласцівасць можна ўставіць у праграму пстрычкай мышы або націскам клавішы Enter. Калі спіс не з'явіўся, яго можна выклікаць камбінацыяй клавіш Ctrl + прабел.

Прыклад 5.11. Код функцыі-апрацоўшчыка:

void __fastcall TForm1::FormClick
(TObject *Sender)
{
    Form1 -> Color = clRed;
}

Каб пераканацца ў правільнасці працы праграмы трэба, запусціць праект і праверыць, што пры выкананні пстрычкі мышшу па форме яе колер змяняецца на чырвоны.

Форма пасля запуску праекта:

Форма пасля пстрычкі мышы па ёй:

Пытаннi да параграфа

1. Якія элементы асяроддзя C++Builder адлюстроўваюцца на экране пры загрузцы асяроддзя?

2. Якія файлы ўваходзяць у склад дадатку, створанага ў C++Builder?

3. Для чаго прызначана форма?

4. Для чаго выкарыстоўваюць інспектар аб'ектаў?

5. Якія ўласцівасці формаў вы можаце назваць?

6. Як стварыць апрацоўшчык падзеі?

7. Якое імя па змоўчанні атрымлівае функцыя апрацоўшчык?

Практыкаваннi

   

1. Стварыце праект, у якім пры кліку мышы па форме яна будзе перамяшчацца ў левы верхні вугал экрана.

    1. Стварыце і захавайце ў новай папцы праект.
    2. Змяніце ўласцівасць Caption у формы на Практыкаванне 1.
    3. Стварыце апрацоўшчык падзеі мышы OnlClick.
    4. Для змены месцазнаходжання формы можна скарыстацца камандамі:
      Form1 -> Left = 0;
      Form1 -> Top = 0;
    5. Захавайце змены ў праекце.
    6. Запусціце праект і праверце яго працу.

2. Стварыце праект, у якім пры падвойным кліку мышы па форме яе памеры будуць павялічвацца на 5.

    1. Стварыце і захавайце ў новай папцы праект.
    2. Змяніце ўласцівасць Caption у формы на Практыкаванне 2.
    3. Стварыце апрацоўшчык падзеі мышы OnDblClick.
    4. Для змены шырыні і вышыні формы можна скарыстацца камандамі:
      Form1 -> Width += 5;
      Form1 -> Height += 5;
    5. Захавайце змены ў праекце.
    6. Запусціце праект і праверце яго працу.

3. Стварыце праект, у якім колер формы будзе мяняцца пры навядзенні на яе мышы, напрыклад з жоўтага на зялёны.

    1. Змяніце ўласцівасць Caption у формы на Практыкаванне  3.
    2. Устанавіце жоўты колер формы.
    3. Стварыце апрацоўшчыкі для дзвюх падзей мышы: OnMouseEnter і OnMouseLeave.
    4. У кодзе падзеі OnMouseEnter устанавіце зялёны (clGreen) колер формы, а ў кодзе падзеі OnMouseLeave — жоўты (clYellow).
    5. Захавайце змены ў праекце.
    6. Запусціце праект і праверце яго працу.

4. Занясіце змены ў праект з прыкладу 5.11 так, каб колер формы мяняўся выпадкова. Для задання колеру выпадковым чынам можна скарыстацца камандай, якая атрымлівае колер, выкарыстоўваючы выпадковыя састаўляючыя колеры: Form1 -> Color = (TColor) RGB (rand() % 256, rand() % 256, rand() % 256).