Минулого разу ми познайомилися в основними елементами середовища Delphi. Тепер прийшов час навчитися створювати інтерфейси для програм хоча б на початковому рівні.
Розміщення компонент на формі
Цілком очевидно, що інтерфейс програми створюється самим програмістом. У Delphi (а також в більшості інших середовищ об'єктно-орієнтованого програмування) елементи розміщуються на формі дуже просто. Для цього потрібно вибрати цікавий компонент на одній з вкладок палітри компонент (Component Pallete), клацнувши по ньому і вдруге клацнути по формі. У місці клацання з'явиться вибраний компонент і з цього момент він належить даній формі.
Вибір об'єктів в дизайнера форм
Вибрати об'єкт дуже просто - достатньо клацнути по ньому. Також об'єкти можна вибирати за допомогою клавіатури - досить натиснути клавішу [Tab]. За допомогою цієї ж клавіші можна далі послідовно вибирати всі об'єкти, розташовані на формі. Іноді потрібно вибрати відразу кілька об'єктів. Мишею це робиться стандартним способом: не відпускаючи кнопку миші окреслити прямокутну область. Всі об'єкти, що потрапили в цю область, виявляться виділеними. Для вибору довільних об'єктів, що не окреслюючи область, досить утримувати клавішу [Shift] і клацати по потрібних об'єктів.
Переміщення елементів на формі
Компоненти можна легко переміщати по формі. Найбільш швидкий спосіб - "захопити" компонент мишею і перетягнути в потрібне місце. Зверніть увагу, що в дизайнера форм є спеціальна сітка (точки, які стоять на рівній відстані один від одного). За допомогою цієї сітки зручно вирівнювати компоненти відносно країв форми або відносно один одного. При переміщенні мишею компонент переміщається саме по цій сітці. Також переміщення можна виконувати за допомогою клавіатури. Якщо компонент виділений, то переміщати його по сітці можна за допомогою комбінації клавіш [Ctrl] + [Shift] + [стрілка]. [Стрілка] - одна з клавіш "вгору", "вниз", "вліво" або "вправо". Але не завжди сітка дозволяє розмістити компоненти так, як задумано, тому переміщати компоненти можна і з більш високою точністю - по одній екранній точці (пікселя). Для цього служить комбінація [Ctrl] + [стрілка].
Зміна розмірів елементів
Якщо поміщати компоненти на форму "стандартним" методом - просто клацаючи в довільному місці форми, то компоненти беруть розмір, встановлений стандартом. Однак стандартні розміри дуже часто виявляються незручними. Помістивши компоненти на форму, можна відразу вказувати їх розміри. Робиться це дуже просто - замість клацання по формі потрібно натиснути кнопку миші і, не відпускаючи її, розтягнути прямокутну область. В результаті компонент прийме розмір окресленій царині. Змінювати розміри встановлених на формі об'єктів не менше просто - якщо виділити об'єкт, то на його контурі з'являються так звані вузли, потягнувши за які як раз можна змінити розміри. За допомогою клавіатури розміри змінюються за допомогою комбінацій [Shift] + [стрілка].
Ніщо не заважає робити елементи такими, що вони будуть перекривати один одного. Наприклад, розмістіть на формі кнопку (Button1), а потім ще одну (Button2) прямо поверх першої. Ймовірно, друга кнопка частково перекриє першу (див. Малюнок). Але як бути, якщо Ви хочете, щоб нагорі була саме перша? Все дуже просто. Відкрийте контекстне меню другої кнопки (клацніть по ній правою кнопкою миші) і виберіть в меню Control - Send to Back (Опублікувати назад). Друга кнопка піде за першу. У тому ж меню є команда Bring to Front (Перенести вперед) - переміщує елемент на рівень вище.
Налаштування сітки дизайнера форм
Не завжди стандартна сітка в дизайнера форм зручна. Деякі програми спочатку створюються з нестандартними елементами нестандартних розмірів. Налаштувати сітку можна у вікні Tools - Environment Options. вкладка Designer. блок Grid options. Параметри Grid size - X і Y дозволяють змінити крок сітки по горизонталі і вертикалі відповідно. Опція Display grid відповідає за відображення сітки взагалі, тобто якщо сітка не потрібна, її можна відключити зовсім. Опція Snap to grid вказує на те, як компоненти будуть себе вести при приміщенні на форму і при переміщенні. Якщо вимкнути цю опцію, то компоненти будуть просто "не помічати" сітку і рухатися не по точкам, а довільно.
В даному уроці ми розглянули всі основні маніпуляції з об'єктами на формі. Однак розміщувати елементи на формі "як попало" і довільно змінювати їх розміри (наприклад робити величезні кнопки) вкрай небажано. Існують спеціальні стандарти і в одному з уроків ми з ними познайомимося.