Вкладка Standard. Компонент TRadioGroup

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

   
Если в программе требуется использовать несколько групп переключателей (например, одну для выбора
типа устройства, а другую для выбора его состояния), то можно применить один из двух подходов. Первый состоит в
выделении для каждой группы специального объекта (панели), чтобы система Delphi могла понять, как объединяются
переключатели. Второй подход состоит в использовании компонента TRadioGroup (Группа переключателей),
который объединяет свойства и методы, обеспечивающие поддержку работы группы переключателей. После
размещения в форме компонента TRadioGroup входящие в него переключатели задаются после перечисления
их названий. Эти названия вводятся в свойство Items, имеющее тип TString.

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

   

Таблица 1. Свойства компонента TRadioGroup

СвойствоОписание
property Columns: Integer;Определяет количество столбцов переключателей
property ItemIndex: Integer;Содержит индекс установленного переключателя
property Items: TStrings;Содержит список строк с заголовками элементов. Добавление/удаление элементов достигается добавлением/удалением строк списка Items
property Caption: TCaption;Определяет заголовок группы (по умолчанию она называется RadioGroup1)

   
Так как компонент TRadioGroup представляет единое целое со своими переключателями, использование его в
программе отличается от использования компонента TRadioButton.

   
После размещения компонента на форме он пуст. Чтобы создать в нем хотя бы один переключатель, следует раскрыть
редактор списка Items и ввести хотя бы одну строку: строки Items используются как поясняющие
надписи справа от переключателей, а их количество определяет количество переключателей в группе. Заметим также,
что после создания компонента его свойство ItemIndex по умолчанию имеет значение -1, это значит, что ни
один переключатель в группе не установлен. Чтобы в момент появления компонента на экране какой-то переключатель
был уже установлен, необходимо на этапе конструирования с помощью окна инспектора объектов или программно
установить в свойство ItemIndex номер соответствующего переключателя (нумерация начинается с 0). Это же
свойство позволяет программе проанализировать выбор пользователя.

   
Для получения состояния переключателя в группе можно использовать обработчик событий OnClick.
Например, чтобы отображать с помощью надписи Label1 название текущего переключателя, обратитесь к
свойству Items (Список строк) и выделите тот элемент, номер которого записан в свойстве
ItemIndex. Предварительно следует проверить, имеется ли вообще выделенный переключатель (значение
свойства ItemIndex не равно -1).

   
Поместите на форму компоненты: RadioGroup1, RadioGroup2, Label1, Label2.
Создайте переключатели для компонентов RadioGroup1, RadioGroup2, как на рис. 1. Для компонента
RadioGroup1 создайте обработчик OnClick:

procedure TForm1.RadioGroup1Click (Sender: TObject);
begin
 if RadioGroup1.ItemIndex>-1 then
 Label1.Caption:='Выбран '+
 RadioGroup1.Items [RadioGroup1.ItemIndex];
end;

   
Для компонента RadioGroup2 создайте обработчик OnClick:

procedure TForm1.RadioGroup2Click (Sender: TObject);
begin
if RadioGroup2.ItemIndex>-1 then
 Label2.Caption:='Он '+
 RadioGroup2.Items [RadioGroup2.ItemIndex];
end;


Рис.1.Группы переключателей

   

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
type
  TForm1 = class(TForm)
    RadioGroup1: TRadioGroup;
    RadioGroup2: TRadioGroup;
    Label1: TLabel;
    Label2: TLabel;
    procedure RadioGroup1Click(Sender: TObject);
    procedure RadioGroup2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
 if RadioGroup1.ItemIndex>-1 then
 Label1.Caption:='Выбран '+
 RadioGroup1.Items[RadioGroup1.ItemIndex];
end;
procedure TForm1.RadioGroup2Click(Sender: TObject);
begin
if RadioGroup2.ItemIndex>-1 then
 Label2.Caption:='Он '+
 RadioGroup2.Items[RadioGroup2.ItemIndex];
end;
end.

Текст этого примера можно взять здесь.

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



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий