Справочник по компонентам Delphi. Часть 2


Справочник по компонентам Delphi. Часть 2

Кнопки

Группа элементов управления-кнопок в VCL велика и разнообразна. Здесь и стандартные кнопки Windows, и популярные в последнее время кнопки с картинками, и специальные кнопки для работы в модальных формах (диало­гах), и даже группы кнопок. Многие из них имеют одинаковые свойства, которые мы и рассмотрим сначала.

Основным событием, связанным с нажатием кнопки (любым способом) явля­ется:

(Pb) property OnClick: TNotifyEvent;

Под "любым способом" здесь подразумевается щелчок мышью, нажатие комбинации клавиши — акселератора, нажатие <Enter> или <Esc> (только для некоторых кнопок) или вызов метода Click из программы.

Текст кнопки, появляющийся на ее поверхности, определен в свойстве:

(Pb) property Caption: string;

Если в составе текста есть амперсанд ('&'), то следующий за ним символ используется в акселераторе, и нажатие комбинации клавиш <АН>+<символ> вызывает нажатие кнопки.

Водораздел среди кнопок проходит по тому, что именно означает нажатие. Ряд кнопок — TRadioButton, TCheckBox и группа TRadioGroup — предназ­начен для ввода или переключения фиксированных параметров, и прог­раммиста более интересует их состояние в некоторый момент времени, чем сам факт нажатия. Кнопки TButton, TSpinButton и TBitBtn напротив, как правило, своим нажатием инициируют немедленные действия. Кнопка TSpeedButton может успешно служить для решения обеих задач.

Как уже было сказано, нажатие влечет за собой OnClick. Но это не означает, что всегда нужно писать код для обработки всех нажатий. Например, исклю­чением из этого правила является использование кнопок в модальных формах.

Модальная форма, или модальный диалог — специальная разновидность окон Windows (и форм Delphi), предназначенная для ввода пользователем необ­ходимых программе данных или выбора одного ответа из нескольких вариантов. Обычно при этом ему предоставляется несколько кнопок, соответ­ствующих вариантам. Вплоть до получения ответа в модальном диалоге поль­зователь не может переключиться на другие окна той же задачи, а в системном модальном диалоге — и на другие задачи. Для использования в таких случаях предназначены стандартная кнопка Windows TButton и ее младшая сестра TBitBtn, отличающаяся только наличием картинки на ее поверхности. При их нажатии значение свойства ModalResult кнопки передается одноименному свой­ству формы, где такое изменение означает вывод формы из модального сос­тояния и ее закрытие:

(Pb) property ModalResult: TModalResult;
TModalResult = Low(Integer) ..High(Integer);

В модальной форме могут быть предусмотрены две специальные кнопки, со­ответствующие положительному и отрицательному решениям. Одна из них срабатывает при нажатии на клавиатуре <Enter>, другая — <Esc>. Любая кнопка может получить такой статус, установив в True соответственно одно из свойств:

(Pb) property Default: Boolean;
(Pb) property Cancel: Boolean;

У двух рассмотренных кнопок результат, который при нажатии кнопки пере­дается модальной форме, будет соответственно равен mrOk и mrCancel.

Ниже рассмотрим имеющиеся в распоряжении программиста варианты кнопок. Описанные выше свойства перечисляются, но не комментируются.

 
« Предыдущая статья   Следующая статья »