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

    На этом шаге мы рассмотрим компонент TRadioButton

    В отличие от флажка, компонент TRadioButton (Переключатель) предназначен для выбора одного значения из ряда возможных. Переключатели всегда используются группами.

    Когда пользователь выбирает следующий переключатель, то выделение с текущего переключателя автоматически снимается, таким образом, в группе выделен всегда только один переключатель.

    Рассмотрим свойства компонента TRadioButton.

   
Таблица 1. Свойства компонента TRadioButton
Свойство Описание
property Alignment: TAlignment; Это свойство аналогично свойству флажка. Оно определяет положение подписи справа или слева от переключателя
property Checked: Boolean; Так же аналогично свойству флажка и определяет состояние объекта (True, если переключатель включен)
property Name: String; Имя меню, которое автоматически будет подставлено в свойство меню формы
property Font: TFont; С его помощью можно разнообразить вид надписи
property Caption: String; Содержит текст

    Методы GetChecked и SetChecked, позволяющие обращаться к свойству Checked и изменять его значение, в тексте программы явно не используются. Они предназначены для использования в унаследованных классах TRadioButton (конкретных реализациях переключателя). Для отслеживания состояния конкретного переключателя можно обрабатывать событие OnClick.

    В форме размещается несколько переключателей, и во время проектирования один из переключателей желательно включить, а все остальные по умолчанию оставить выключенными.

    Для динамического отслеживания состояния переключателей создайте обработчик события OnClick для каждого из них. Статус переключателя можно отобразить, например, с помощью надписи Label1.

   

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
    RadioButton1: TRadioButton;
    Label1: TLabel;
    RadioButton2: TRadioButton;
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
   if RadioButton1.Checked then
       Label1.Caption:='Включен первый';
end;
procedure TForm1.RadioButton2Click(Sender: TObject);
begin
   if RadioButton2.Checked then
       Label1.Caption:='Включен второй';
end;
end.
Текст этого примера можно взять здесь.

    Если вы все сделали правильно, то у вас должно получиться следующее:


Рис.1.Состояния переключателей

   

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

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




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