Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л4.doc
Скачиваний:
7
Добавлен:
30.10.2018
Размер:
77.82 Кб
Скачать

2. Розміщення компонентів на формі

Для того, щоб перенести на форму компонент, треба відкрити відповідну сторінку палітри компонентів і знайти на ній потрібний компонент. У пошуку вам дуже допоможуть ярлички, що з'являються, якщо ви затримуєте курсор над тією або іншою піктограмою. Виділіть курсором потрібний компонент, а потім клацніть мишею в тому місці форми, куди ви хочете помістити компонент. Можливий і інший варіант — подвійне клацання на компоненті. Тоді компонент перенесеться в центр форми, а потім ви можете його відбуксирувати в потрібне місце.

Якщо треба розмістити на формі декілька компонентів одного типу, то натисніть спочатку клавішу Shift і, утримуючи її, клацніть на піктограмі компоненту на відповідній сторінці бібліотеки. Після цього, відпустивши Shift, клацніть кілька разів в різних місцях форми. Кожне ваше клацання розміщуватиме новий компонент. Щоб перервати цей процес, натисніть кнопку покажчика із стрілкою, направленою по діагоналі вгору і наліво, в лівій частині палітри. Цю ж кнопку ви можете натиснути, якщо, вибравши компонент на сторінці, ви передумали переносити його на форму.

Іноді ви знаєте ім'я компоненту, але не пам'ятаєте, на якій сторінці він розташований і не можете його знайти. В цьому випадку вам може допомогти команда View/ComponentList. При її виконанні відкриється діалогове вікно, що містить алфавітний список всіх компонентів. У ньому можна знайти потрібний компонент по імені, В цьому може допомогти вікно швидкого пошуку по імені Search by name. Вибравши потрібний компонент, натисніть кнопку Add to form внизу вікна або зробити подвійне клацання на вибраному компоненті, і він перенесеться на форму.

Видалити помилково перенесений на форму компонент дуже просто: виділіть його і натисніть клавішу Delete.

Привчите себе відразу при перенесенні компоненту на форму змінювати його ім'я Name, прийняте за умовчанням. Ім'я повинне бути осмисленим, щоб потім, розбираючись в коді, ви легко могти б зрозуміти; що означає та або інша функція, той або інший компонент.

Перенісши компонент на форму, ви можете буксирувати його в потрібне місце і змінювати його розміри. Для цього позначте потрібний елемент. Він стане оточений рамкою з маркерами. Потягніть курсором за один з маркерів і розмір компоненту змінюватиметься. При затримці курсору над розміщеним на формі компонентом з'являється ярличок з його ім'ям, а при натисненні кнопки миші на компоненті, при його буксируванні або зміні розмірів з'являється ярличок з розмірами компоненту.

Часто компоненти розміщуються не безпосередньо на формах, а на панелях, які об'єднують групи компонентів за їх призначенням. В цьому випадку спочатку на формі повинні бути розміщені панелі, а потім на них розташовуються компоненти.

Віконний компонент — форма, панель і так далі, що включає як контейнер інші компоненти, виступає по відношенню до них як батьківський компонент.

В процесі виконання програми можна дізнатися батька того або іншого компоненту по його властивості Parent. Цю властивість можна читати і змінювати тільки під час виконання, в Інспекторові Об'єктів ви його не знайдете.

Що дає поняття батьківського компоненту? Компонент може успадковувати багато властивостей свого батька. Для всіх візуальних компонентів ви можете побачити в Інспекторові Об'єктів такі властивості, як ParentFont і ParentShowHint, для віконних компонентів є ще властивість ParentCtl3D. Ці властивості указують (якщо їх значення встановлені в true), що дочірній компонент успадковує від батьківського відповідно атрибути шрифту, показу ярличків, атрибути свого оформлення. Крім того, значення властивостей Left і Тор, які ви можете бачити в Інспекторові Об'єктів для будь-якого візуального компоненту і які визначають положення лівого верхнього кута компоненту, вимірюються в системі координат батьківського компоненту. Таким чином, наприклад, при переміщенні батьківського компоненту синхронно переміщатимуться і всі його дочірні компоненти. Властивість Anchors визначає прив'язку дочірніх компонентів до меж батьківського компоненту.

Є ще дві важливі властивості, які пов'язують дочірні компоненти з батьківським. Це властивості Visible — видимий, і Enabled — доступний. Якщо в процесі виконання додатку зробити в батьківському компоненті Visible рівним false, то стане невидимим не тільки батьківський, але і всі його дочірні компоненти. Аналогічно, якщо в процесі виконання програми зробити в батьківському компоненті Enabled рівним false, то стануть недоступними всі його дочірні компоненти. Тобто користувач не зможе натискати кнопки і проводити будь-які інші дії в межах даного батьківського компоненту.

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

Відзначимо ще одну властивість компонентів, яка часто плутається з властивістю Parent. Це властивість Owner — власник даного компоненту. Властивість Owner встановлюється у момент створення компоненту в процесі виконання додатку. Власник компоненту — цей той компонент, при знищенні якого (звільненні займаної ним пам'яті) знищиться і даний компонент. Цим і обмежується зв'язок між власником і компонентами, якими він володіє, на відміну від безлічі вказаних вище властивостей, що зв'язують батьківський і дочірні компоненти.

За умовчанням батьком і власником всіх компонентів, розміщених на формі, є сама форма. Але якщо в процесі проектування компонент розміщується не безпосередньо на формі, а на іншому віконному компоненті, наприклад, на панелі, то батьком для нього стає ця панель.

Всі дочірні компоненти у віконному елементі розташовуються в так званій Z - послідовності. Для компонентів, що перекриваються (розташованих один над одним), Z - послідовність визначає, який з них буде видимий. Видимий той, який розташований в цій послідовності вище.

Зазвичай послідовність компонентів відповідає тій, в якій вони поміщалися на форму. Проте невіконні компоненти типу міток завжди лежать в Z -послідовності нижче за будь-які віконні компоненти типу панелей і кнопок.

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

Ще простіше перенесення компонентів з одного батьківського контейнера в іншій в C++Builder 6 можна робити за допомогою вікна Дерева Об'єктів.

Якщо в процесі проектування пересувається панель, то вона може накрити якісь компоненти, розміщені на формі або на іншій панелі. Чи будуть при цьому накриті компоненти видимі або невидимі, визначається їх місцем у Z -послідовності. Невіконні компоненти типу міток будуть невидимі, оскільки вони розташовуються в Z - послідовності завжди нижче будь-яких віконних, до яких належать панелі. А ось видимістю інших віконних компонентів — панелей, кнопок, вікон редагування можна управляти. Це робиться командами меню Edit/ Bring To Front і Edit/Send To Back. Перша з них переміщає виділений віконний компонент на верх Z-послідовності і він починає загороджувати всі інші віконні компоненти. А друга команда переміщає виділений віконний компонент на самий низ Z - послідовності і будь-які інші віконні компоненти, розташовані в Z -послідовності вище, починають перекривати його. Ці команди можна виконати і простіше: клацнувши правою кнопкою миші і вибравши їх із контекстного меню.

При проектуванні інтерфейсу досить часто доводиться забезпечувати вирівнювання компонентів. Навіть за допомогою команд контекстного меню це робити незручно. У C++Builder є набагато зручніший інструмент вирівнювання, який викликається командою View/Alignment Palette — палітра вирівнювання.

Призначення її кнопок зрозуміле з їх піктограм. Верхній ряд кнопок відноситься до вирівнювання по горизонталі. Нижній ряд кнопок дозволяє вирівнювати по вертикалі.

Команда Edit/Scale дозволяє пропорційно змінити масштаб всього, що розташовано на формі. Всі розміри можна збільшувати або зменшувати аж до ста разів. У діалоговому вікні, що з'являється, треба задати Scaling factor — масштабуючий коефіцієнт в %.

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

Щоб цього не відбулося, виконаєте команду Edit/Lock Controls. Вона зафіксує розташування всіх компонентів на формі і не дозволить їх переміщати. Якщо надалі у вас все-таки виникне потреба змінити розташування компонентів, то потрібно повторно виконати команду Edit/Lock Controls і компоненти будуть розблоковані.

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