Начиная с Delphi 5 появилась возможность работы с фреймами. Фрейм является контейнером, который содержит другие компоненты. На этапе разработки он создается так же как и форма, но в отличие от нее его можно разметить на форме или другом каком нибудь компоненте, например на панели.
Для начала необходимо создать фрейм и наполнить его содержимым. Для этого используя пункты меню File -> New -> Frame создаем новый фрейм. Он имеет много общих свойств с формой, располагать и кодировать компоненты необходимо также как и на обычной форме. Создадим произвольный фрейм и наполним его компонентами, при желании можно закодировать обработчики событий. Можно создать по образцу рисунка.
Теперь, когда у нас заполненный фрейм, необходимо для его использования разместить или на форме или в каком нибудь другом компоненте. Для размещения на форме в Палитре компонентов на странице Standard выбираем компонент Frame и щелкаем мышью в нужном месте формы. При отпускании мыши появиться диалоговое окно (см. рисунок) в котором вам надо выбрать имя фрейма. После выбора и нажатия кнопки OK фрейм окажется в нужном месте. Его внешний вид измениться исчезнет рамка и заголовок присущие форме, но размещенные в нем компоненты будут отображены также как при разработке.
Разместив на форме фрейм автоматически в листинге в разделе uses добавиться ссылка на модуль фрейма, а в описании класса формы генерируются ссылки на обработчики событий фрейма и входящих в него компонентов.
Если какой либо фрейм необходимо часто использовать то его можно разместить в Палитре компонентов. Для этого завершив создание фрейма нажать на нем правую клавишу мыши и выбрать пункт всплывающего меню Add To Palette (Добавить в Палитру). Произойдет запрос, где сохранить и под каким именем сохранить модуль фрейма. Затем появиться диалоговое окно, представленное на рисунке, в котором задается имя компонента и страница размещения, можно также выбрать иконку, если не устраивает иконка по умолчанию. Фрейм, после нажатия кнопки OK, размещается на выбранной странице и теперь с ним можно работать также как и с компонентом.
Итог: мы разобрали фреймы в Delphi и работу с ними.