Компоненты делятся на две категории – визуальные и невизуальные. Последние характеризуются тем, что при работе программы они являются невидимыми. Вместе с тем визуальные компоненты после запуска программы видимы, только если их специально не скрывают. Как правило, внешний вид визуальных компонентов на этапе разработки и в процессе выполнения программы совпадает, хотя и может изменяться динамически в зависимости от различных условий. Визуальные компоненты называют элементами управления.
Все компоненты Delphi являются потомками класса TComponent. Класс TControl является базовым классом для визуальных компонентов. У класса TControl есть два наследника, определяющих две группы компонентов — основанные на использовании оконного ресурса (TWinControl и его потомки) и базирующиеся на использовании графического ресурса (TGraphicControl и его потомки).
Компоненты-потомки класса TWinControl характеризуются тем, что могут получать фокус, обрабатывать события клавиатуры, могут быть контейнерами для других элементов управления и т. д. К компонентам с оконным ресурсом относятся однострочные и многострочные редакторы кнопки, полосы прокрутки, переключатели и т. д., а также различные панели и групппирующие элементы управления.