На этом шаге мы рассмотрим компонент TButton .
Обычно с помощью компонента TButton (Кнопка) пользователь инициирует выполнение какого-либо фрагмента кода или целой программы. Другими словами, если щелкнуть на элемент управления TButton, то программа должна выполнить определенное действие. При этом кнопка принимает такой вид, будто она нажата.
Кнопкам можно присваивать комбинации быстрых клавиш. Во время выполнения нажатие такой комбинации клавиш эквивалентно щелчку мыши на кнопке. В следующей программе установите значение свойства Caption кнопки как &Щелкни. А для события OnClick создайте обыкновенный триггер, как показано в программе.
Рис.1. Кнопка с надписью
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Label1: TLabel; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Label1.Visible:= not Label1.Visible; end; end.
Свойства компонента TButton представлены в таблице.
Свойство | Описание |
---|---|
property Cancel: Boolean; | Если имеет значение True, событие OnClick кнопки возникает при нажатии клавиши Esc |
property Default: Boolean; | Если имеет значение True,событие OnClick кнопки возникает при нажатии клавиши Enter |
type TModalResult = Low(Integer)..High(Integer); property ModalResult: TModalResult; |
Определяет результат, с которым было закрыто модальное окно |
В терминологии Windows модальными окнами называются такие специальные окна, которые, появившись на экране, блокируют работу пользователя с другими окнами вплоть до своего закрытия. Обычно с их помощью реализуется диалог, требующий от пользователя приятия некоторого решения. Для этого в состав модального окна включается несколько кнопок. Если у кнопки определено свойство ModalResult, щелчок на ней приводит к закрытию модального окна и возвращению в программу значения ModalResult как результата диалога с пользователем. В Delphi определены следующие стандартные значения ModalResult:
В отличие от большинства других видимых компонентов кнопка TButton является элементом операционной системы Windows и поэтому не может изменять свой цвет произвольным образом - кнопка меняет его вместе с изменением палитры Windows. Кнопка всегда имеет системный цвет clBtnFace и не имеет свойство Color. Шрифт надписи на кнопке может менять свой стиль и размер, но компонент игнорирует изменение его цвета.
В отличие от компонента TLabel компонент TButton не имеет свойства AutoSize и при размещении на форме принимает некоторый стандартный, предопределенный средой Delphi размер. Если требуется изменить размеры компонента TButton, то программист устанавливает их самостоятельно, используя свойства Height и Width.
Свойство Enabled определяет, будет ли доступна пользователю кнопка в некоторый момент выполнения программы, т.е. будет ли управление, при "нажатии" данной кнопки в исполняемой программе, передаваться в процедуру обработки события для данной кнопки.
Если Enabled имеет значение True, то управление будет передаваться, если же Enabled - False, то при нажатии на данную кнопку управление не передается в процедуру обработки события данной кнопки (даже если такая процедура для этой кнопки определена).
Свойство Visible определяет, будет ли виден размещенный на форме компонент на этапе выполнения программы. По умолчанию свойство Visible имеет значение True, если Visible - False, то компонент визуально не отображается в окне программы и естественно является недоступным.
Помимо обработчика событий OnClick, который использовался в примере, существуют другие обработчики событий:
Обработчик событий | Описание |
---|---|
OnEnter | Событие возникает в момент получения элементом фокуса в результате манипуляции мышью, нажатия клавиши табуляции или программной передачи фокуса |
OnExit | Событие возникает в момент потери элементом фокуса в результате манипуляции мышью, нажатия клавиши табуляции или программной передачи фокуса |
На следующем шаге мы рассмотрим компонент TCheckBox