Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konspekt_lektsiy.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.14 Mб
Скачать

Лекція № 9.

Тема 9. Візуальні компоненти бібліотеки vcl.

План.

  1. Бібліотека візуальних компонент VCL і її базові класи. Ієрархія базових класів. Класи: TObject, TPersistent, TComponent.

  2. Класи елементів керування: TControl, TWinControl, TCustomControl, TGraphicControl.

1. Бібліотека візуальних компонент vcl і її базові класи. Ієрархія базових класів. Класи: tObject, tPersistent, tComponent.

Ієрархія класів VCL, що відносяться до компонентів, достатньо складна. На щастя, вам не потрібно знати кожен клас VCL для того, щоб почати програмувати у С++ Builder. Проте, для роботи з VCL потрібно дещо більше дізнатися про її класи. Тому ми говоритимемо про деякі з них, які ви будете використовувати найчастіше.

Як вам вже відомо, саме компоненти забезпечують C++Builder.Сьогодні ви познайомитеся з компонентами, що використовуються найчастіше, та дізнаєтеся про класи VCL, що представляють ці компоненти.

Візуальні та невізуальні компоненти.

Одні компоненти є візуальними, інші – не візуальними. Візуальний компонент – це такий компонент, який є видимим користувачеві під час виконання програми. До візуальних компонентів відносяться елементи редагування, кнопки, списки, позначки.

Більшість компонентів, з якими ви будете використовувати в додатках, є візуальними. Під час розробки програми візуальні компоненти виглядають так само, як вони будуть виглядати під час її виконання. Невізуальний компонент – це компонент, який не може бути видимим користувачеві під час виконання програми. Невізуальні компоненти працюють „за кулісами” й виконують специфічні задачі. Прикладами таких компонентів є: системні таймери, компоненти для роботи з базами даних та списки зображень. Стандартні діалогові вікна, такі як File Open, File Save, Font та інші, також є не візуальними компонентами. Під час розробки програми в формі C++Builder показує їх у вигляді значка. Цей значок використовується лише для зміни властивостей компонента на етапі розробки й не виводиться на екран під час виконання програми.

2. Класи елементів керування: tControl, tWinControl, tCustomControl, tGraphicControl.

      1. Клас форм tForm. Форми для головного вікна.

Основою для будь-якого додатку С++ Builder слугують форми (екземпляри класу TForm). Кожен додаток має щонайменше одну форму, яка слугує головним вікном додатку. Форма головного вікна може бути просто порожнім вікном, може містити елементи управління чи растрове зображення. У типовій Windows-програмі головне вікно зазвичай має рядок меню. Вікно може також містити, наприклад, панель інструментів чи рядок стану. Кожен додаток є унікальним й пред’являє програмісту свої вимоги.

      1. Форми для діалогових, інформаційних та інших вторинних вікон.

У додатках доволі часто доводиться відображати різноманітні прості діалогові вікна, щоб дати користувачу які-небудь вказівки чи задати нескладне питання, на яке можлива одна з відповідей: так, ні, відмінити, перервати. Вторинне вікно (secondary window) – це форма, що відображається (викликається) з головного вікна. Діалогові вікна зазвичай мають деякі характерні риси, що відрізняють їх від звичайних вікон:

  • фіксований розмір;

  • наявність кнопок ОК (часто ця кнопка єдина), Cancel та Help;

  • наявність укладок;

  • використання клавіші Tab для переміщення між елементами управління діалогового вікна

В С++ Builder вторинні вікна є просто різновидом форми. Ви проектуєте їх так само, як і форму для головного вікна чи будь-яку іншу форму.

Так, наприклад, для того, щоб зафіксувати розмір вікна у С++ Builder, ви можете змінити значення властивості BorderStyle на bsDialog.

При цьому ваше вікно буде містити у рядку заголовку лише одну кнопку закриття, що традиційно прийнято для діалогових вікон. Проте іноді зручно користуватися готовими діалоговими вікнами та методами, що їх викликають. Найпростішим методом є метод ShowMessage(), що відображає вікно повідомлення з кнопкою OK.

Текст повідомлення задається параметром Msg. Заголовок такого вікна співпадає з ім’ям файлу додатку. Функція MessageDlg() відображає вікно, в якому користувачу ставиться певне питання та аналізується отримана відповідь. Метод відображає діалогове вікно та очікує відповіді користувача. Текст повідомлення задається параметром Msg.  Вид вікна задається параметром DlgType:

  • mtWarning – вікно зауважень, що містить жовтий знак оклику.

  • mtError – вікно помилок, що містить червоний стоп-сигнал.

  • mtInformation – інформаційне вікно, що містить блакитний символ „і”.

  • mtConfirmation – вікно підтвердження, що містить зелений знак питання.

  • mtCustom – рекомендоване вікно, без малюнку.

Параметр Buttons визначає, які кнопки будуть міститися у вікні:

  • mbYes – кнопка з надписом „Yes”

  • mbNo – кнопка з надписом „No”

  • mbOk – кнопка з надписом „OK”

  • mbCancel – кнопка з надписом „Cancel”

  • mbHelp – кнопка з надписом „Help”

  • mbAbort – кнопка з надписом „Abort”

  • mbRetry – кнопка з надписом „Retry”

  • mbIgnore – кнопка з надписом „Ignore”

  • mbAll – кнопка з надписом „All”

Можна також використати готові набори кнопок:

  • mbYesNoCancel – включає у вікно кнопки Yes, No, Cancel

  • mbOkCancel – включає у вікно кнопки Ok та Cancel

  • mbAbortRetryIgnore – включає у вікно кнопки Abort, Retry та Ignore

Необхідні кнопки заносяться в Buttons операцією <<, оскільки параметр є множиною.

Параметр HelpCtx визначає екран контекстної довідки. Якщо довідка не планується, то HelpCtx=0.

Наприклад, діалог при виході з додатку:

if (MessageDlg("Дійсно бажаєте закінчити роботу програми?", mtConfirmation,

TMsgDlgButtons()<< mbYes<< mbNo, 0) == mrYes)

{

ShowMessage("Роботу програми закінчено!");

Close();

}

Крім цього, бібліотека VCL містить класи діалогових вікон, що інкапсулюють стандартні діалогові вікна Windows для спрощення їхнього використання. Прикладами можуть бути класи:

  • TOpenDialog – призначений для створення вікна діалогу „Відкрити файл”,

  • TSaveDialog – призначений для створення вікна діалогу „Зберегти файл”,

  • TFontDialog – призначений для створення вікна діалогу „Шрифти”,

  • TColorDialog – призначений для створення вікна діалогу „Колір” тощо.

Їх можна знайти на укладці Dialogs палітри компонентів. Вони є невізуальними компонентами С++ Builder. Проте, ці стандартні діалогові вікна не є формами С++ Builder.

Для створення та відображення всіх стандартних діалогових вікон Windows використовується метод Execute(). Ця функція відкриває діалогове вікно та, якщо користувач натиснув кнопку Ок, двічі клацнув на імені файлу чи натиснув клавішу Enter, то функція повертає значення true. Якщо користувач клацнув на кнопці Cancel, натиснув клавішу Esc чи закрив діалогове вікно системною кнопкою закриття вікна, то Execute() повертає значення false.

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

if (OpenDialog -> Execute())

{

};

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