Страница 1 из 59 Справочник по компонентам 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. Ниже рассмотрим имеющиеся в распоряжении программиста варианты кнопок. Описанные выше свойства перечисляются, но не комментируются. |