Робота з фреймами

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

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

Створимо новий проект в Delphi. Новий фрейм створюється викликом пункту меню File-New, і в обраній палітрі об'єктів вибором Frame. У створений фрейм додамо панель-контейнер TPanel і дві кнопки TBitBtn.

Малюнок 1. Заготівля фрейму

Для реалізації ефекту вирівнювання створимо метод на подію Resize панелі-контейнера.

Щоб забезпечити можливість включення даного фрейма в інші проекти збережемо його в каталог загального доступу (в моєму випадку це $ (DELPHI) \ Projects \ Common). Для додавання раніше створених фреймів в інші проекти призначений пункт меню Project-Add to project. А для додавання фрейма в форму або контейнер потрібно вибрати перший елемент в стандартній палітрі компонентів показаний на малюнку.

Малюнок 2. Кнопка додавання фрейма в палітрі компонент Delphi

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

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

Малюнок 3. Приклад використання фрейму

Робота з фреймами