•  
Создано: 04.09.2010 3:41:54 · Исправлено: 04.09.2010 3:48:22 · Прочтений: 6703

Стандартная кнопка Button

Кнопки Button очень широко используются в качестве управляющих элементов. Обычно на них наносится текст, описывающий выполняемые при нажатии действия.

Кнопку можно нажать щелчком мыши, использованием клавиши быстрого доступа (если она задана в свойстве Caption), клавишами Enter или пробел, клавишей Esc. На нажатие клавиш Enter и пробел находящаяся в фокусе ввода кнопка реагирует по умолчанию. Чтобы задействовать клавишу Esc, надо в свойстве кнопки Cancel установить true. Это целесообразно делать только для кнопок, используемых для отмены каких-либо действий.

Для кнопки определён метод Click, выполнение которого эквивалентно щелчку по кнопке. Метод Click можно использовать, чтобы продублировать какими-либо действиями щелчок по кнопке. Предположим, что обработчик кнопки «Заменить» (Button1) должен вызываться клавишами R и r. Тогда необходимо сформировать обработчик события формы OnKeyPress.

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (Key='R') or (Key='r') then Button1.Click;
end;

Дополнительно следует свойство формы KeyPreview установить в true.

Кнопка с рисунком BitBtn

Кнопка BitBtn является разновидностью обычной кнопки Button. Помимо текста может содержать графическое изображение.

В Delphi имеется ряд предопределённых кнопок, задаваемых свойством Kind (рис.1.). Для каждой такой кнопки подготовлена картинка и предусмотрены сответствующие названию действия. При этом текст на кнопке можно изменить. Например, присвоить свойству Caption эквивалентное русское название. Расположение надписи и рисунка на кнопке определяется свойствами Margin, Layout, Spacing. По умолчанию свойство Margin равно -1 (картинка и надпись размещаются в центре кнопки). При этом расположение картинки по отношению к тексту задаётся свойством Layout (слева, справа, сверху, снизу).

Использование предопределённых кнопок позволяет очень просто реализовать нужные действия, но, к сожалению, их внешний вид часто не соответствует общему стилю оформления приложения. Кроме того, некоторые свойства могут быть настроены не лучшим образом. Часто оказывается целесообразным задать свойства самостоятельно и использовать подходящую картинку.

По умолчанию свойство Kind имеет значение bkCustom, для которого первоначально изображение отсутствует и его надо загрузить. Растровое изображение на кнопке задаётся с помощью свойства Glyph. По умолчанию свойство Glyph имеет значение None. Чтобы задать изображение, надо в Инспекторе объектов щёлкнуть по кнопке в области значений свойства Glyph, в открывшемся окне Picture Editor выбрать файл с растровым изображением. Можно использовать поставляемые с Delphi рисунки, разработанные специально для размещения на кнопках BitBtn (папка \Program Files\Common Files\Borland Shared\Images\Buttons). При необходимости, можно создать файл с изображением самостоятельно. Рисунок для кнопки может содержать до трёх изображений (кнопка не нажата, кнопка не активна, кнопка нажата), подготовленных по специальным правилам и сохранённых в одном файле формата BMP.

Кнопка с независимой фиксацией CheckBox

Кнопка CheckBox (флажок) позволяет выбирать или отменять некоторые действия или значения. При включении или выключении кнопки происходит событие OnClick. Кнопка может находиться во включённом, выключенном и неактивном состоянии. С помощью группы кнопок с независимой фиксацией можно задать несколько опций. При этом состояние любого из компонентов CheckBox не зависит от состояния остальных, поэтому такие переключатели называют независимыми.

Свойство Alignment определяет положение сопровождающего текста относительно кнопки (справа или слева).

Свойство Checked содержит выбор пользователя (да или нет). Состояние флажка можно переключать щелчком мыши. Если флажок снят, то после щелчка он будет установлен, и наоборот. При этом соответственно изменяется состояние свойства Checked. Если переключатель находится в фокусе ввода, то задать другое положение можно клавишей Пробел.

В приведённом ниже примере переключатель CheckBox1 управляет выводом названия графика на экран, CheckBox2 отвечает за вывод легенды, а CheckBox3 используется для изменения цвета фона.

if CheckBox1.Checked then Chart1.Title.Visible:=true
else Chart1.Title.Visible:=false;
if CheckBox2.Checked then Chart1.Legend.Visible:=true
else Chart1.Legend.Visible:=false;
if CheckBox3.Checked then Chart1.BackColor:=rgb(177,142,179)
else Chart1.BackColor:=rgb(255,255,255);

При использовании группы кнопок с независимой фиксацией их часто размещают внутри контейнеров Panel, GroupBox или ScrollBox.

Кнопка с зависимой фиксацией RadioButton

Кнопка RadioButton отображается в виде кружка с расположенным рядом поясняющим текстом. Выбранное состояние отмечается чёрной точкой. Кнопки этого типа всегда объединяются в группу, которая образует зависимый переключатель, предназначенный для выбора одной опции из нескольких взаимоисключающих. Группа кнопок с зависимой фиксацией, как правило, помещается в контейнер.

Состояние кнопки определяется свойством Checked. Если у одного из компонентов группы это свойство равно true, то у всех других компонентов группы свойство Checked принимает значение false. При включении или отключении кнопки происходит событие OnClick, в обработчике которого выполняются действия, зависящие от текущего состояния кнопки.