Шаг 8.
Вкладка Standard. Компонент TButton

    На этом шаге мы рассмотрим компонент 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 представлены в таблице.

Таблица 1. Свойства компонента 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, который использовался в примере, существуют другие обработчики событий:

Таблица 2. Обработчики событий компонента TButton
Обработчик событий Описание
OnEnter Событие возникает в момент получения элементом фокуса в результате манипуляции мышью, нажатия клавиши табуляции или программной передачи фокуса
OnExit Событие возникает в момент потери элементом фокуса в результате манипуляции мышью, нажатия клавиши табуляции или программной передачи фокуса

    На следующем шаге мы рассмотрим компонент TCheckBox




Предыдущий шаг Содержание Следующий шаг