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

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

    Компонент TGroupBox (Групповой блок) необходим для объединения нескольких компонентов и представляет собой стандартный групповой блок Windows. Групповой блок является родительским для всех компонентов, размещенных в нем. Обычно с его помощью выделяется группа управляющих элементов, объединенных по функциональному назначению. Свойство Caption определяет заголовок группового блока. Групповой блок удобно использовать, например, для выделения группы переключателей, которые должны работать совместно. Этот компонент представляет собой прямоугольную рамку и текст в разрыве рамки.

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

   
Таблица 1. Свойства компонента TGroupBox
Свойство Описание
property Name: TComponentName; Используется для присваивания имени компоненту
property Tag: Longint; Свойство Tag не имеет предопределенного значения. Оно введено для создания дополнительного удобства разработчика. Его можно использовать для хранения дополнительных целочисленных значений или для приведения типов, имеющих 32 разряда, таких как ссылки или указатели
property Font: TFont; С его помощью можно разнообразить вид надписи
property ParentColor: Boolean; Наследование цвета от родительского компонента. Если пользователь установил значение этого свойства в True (указал, что цвет наследуется от родительского компонента), а затем изменил цвет компонента (свойство Color), то значение свойства ParentColor автоматически изменится на False
property ParentCtl3D: Boolean; Наследование трехмерности от родительского компонента
property ParentFont: Boolean; Наследование шрифта от родительского компонента
property ParentShowHint: Boolean; Наследование показа ярлычков от родительского компонента

    Таким образом, все последние четыре свойства отвечают за наличие связи между соответствующими свойствами в родительских и дочерних элементов. Если какое-то из них у элемента установлено в True, это означает, что он наследует свойство от родителя и меняет цвет, трехмерность, шрифт или показ ярлычков вместе и вслед за ним.

    Перечислим обрабатываемые события.

   
Таблица 1. Обработчики событий компонента TGroupBox
Обработчики события Описание
OnEnter Событие возникает в момент получения элементом фокуса в результате манипуляции мышью, нажатия клавиши табуляции или программной передачи фокуса
OnExit Событие возникает в момент потери элементом фокуса в результате манипуляции мышью, нажатия клавиши табуляции или программной передачи фокуса
OnMouseDown Реакция на нажатие пользователем кнопок мыши
OnMouseUp Реакция на отпускание пользователем кнопок мыши
OnMouseMove Реакция на перемещение курсора мыши над компонентом
OnClick Событие извещает о щелчке левой кнопкой мыши над компонентом
OnDblClick Событие извещает о двойном щелчке левой кнопкой мыши над компонентом

    С компонентом TGroupBox вы можете экспериментировать. Например, выбирать предметы по приоритету, как показано на рисунке.


Рис.1.Выбор предмета по приоритету

   

    Здесь на каждую из панелей помещены переключатели (TRadioButton). Созданы для них простейшие обработчики.

    Приведем текст программы:

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    GroupBox1: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    GroupBox2: TGroupBox;
    RadioButton4: TRadioButton;
    RadioButton5: TRadioButton;
    RadioButton6: TRadioButton;
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure RadioButton3Click(Sender: TObject);
    procedure RadioButton4Click(Sender: TObject);
    procedure RadioButton5Click(Sender: TObject);
    procedure RadioButton6Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
  Label1.Caption:= 'Математика';
end;
procedure TForm1.RadioButton2Click(Sender: TObject);
begin
   Label1.Caption:='Информатика';
end;
procedure TForm1.RadioButton3Click(Sender: TObject);
begin
  Label1.Caption:='Физика';
end;
procedure TForm1.RadioButton4Click(Sender: TObject);
begin
 Label2.Caption:='на первом месте';
end;
procedure TForm1.RadioButton5Click(Sender: TObject);
begin
  Label2.Caption:='на втором месте';
end;
procedure TForm1.RadioButton6Click(Sender: TObject);
begin
  Label2.Caption:='на третьем месте';
end;
end.
Текст этого примера можно взять здесь.

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




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