На этом шаге мы рассмотрим компонент TGroupBox
Компонент TGroupBox (Групповой блок) необходим для объединения нескольких компонентов и представляет собой стандартный групповой блок Windows. Групповой блок является родительским для всех компонентов, размещенных в нем. Обычно с его помощью выделяется группа управляющих элементов, объединенных по функциональному назначению. Свойство Caption определяет заголовок группового блока. Групповой блок удобно использовать, например, для выделения группы переключателей, которые должны работать совместно. Этот компонент представляет собой прямоугольную рамку и текст в разрыве рамки.
Рассмотрим свойства компонента 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, это означает, что он наследует свойство от родителя и меняет цвет, трехмерность, шрифт или показ ярлычков вместе и вслед за ним.
Перечислим обрабатываемые события.
Обработчики события | Описание |
---|---|
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