Наиболее часто используемой кнопкой является кнопка Button, расположенная на странице библиотеки "Standard". Реже используется кнопка BitBtn, отличающаяся, прежде всего, возможностью отобразить на ее поверхности изображение. Большинство свойств, методов и событий у этих видов кнопок одинаковы. Еще одно свойство BitBtn — свойство Kind определяет тип кнопки. По умолчанию значение этого свойства равно bkCustom — заказная. Но можно установить и множество других предопределенных типов.
Кнопка SpeedButton.Отличия от Button и BitBtn: отсутствует свойство Kind; имеется возможность быть зафиксированными в утопленном состоянии; не имеют свойства ModalResult и, соответственно, не имеют возможности закрывать модальные окна. Для реализации фиксиции утопленного состояния кнопка SpeedButton должна принадлежать к какой-либо из групп аналогичных кнопок, даже если эта группа будет состоять из неё одной. Для отнесения к группе у кнопки SpeedButton используется свойство GroupIndex: Integer, не равное нулю. Ещё одно оригинальное свойство AllowAllUp определяет поведение кнопки. Если AllowAllUp=True, то утопленная кнопка "отжимается" только тогда, когда происходит нажатие на одну из кнопок, входящих в ту же группу (т.е. свойства AllowAllUp которых равны). А если свойство AllowAllUp = False, то к освобождению кнопки приводит повторный щелчок по ней. Индикатором утопленного состояния кнопки SpeedButton являетя равенство свойства Down значению True. Это свойство также доступно и для записи, поэтому управлять состояниями кнопки SpeedButton можно в том числе и программно.