TRadioGroup/ru
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
日本語 (ja) │
русский (ru) │
TRadioGroup является элементом управления с взаимосвязанными, но взаимоисключающими переключателями (элементами TRadioButton), в котором требуется выбрать один из нескольких вариантов. Данный элемент выглядит подобно элементу TGroupBox с интегрированными в него элементами TRadioButton.
Использование
Для использования элемента TRadioGroup на форме вы можете просто выбрать его на вкладке Standard палитры компонентов и поместить на форму щелчком мыши.
Небольшой пример
В данном примере будут случайным образом рисоваться геометрические фигуры в зависимости от выбранного элемента TRadioGroup. Элемент с именем RadioGroup1 определяет тип фигуры, а элемент RadioGroup2 их количество.
- создайте новое приложение и поместите на форму два элемента TRadioGroup
- в Инспекторе Объектов измените свойство Name элемента RadioGroup1 на rgShape, а элемента RadioGroup2 на rgCount
- измените свойство Caption элемента rgShape на Shape, а элемента rgCount на Count
- добавьте элементы TRadioButton для элемента rgShape:
- выберите в Инспекторе Объектов свойство Items элемента rgShape
- щелкните по кнопке [...]; откроется диалоговое окно ввода строк
- напишите одну за другой строки Lines Rectangles Ellipses, а когда закончите нажмите кнопку OK
- добавьте аналогичным способом переключатели для элемента rgCount (напишите одну за другой строки): 1 5 10 20 50 100
- установите первые переключатели в положение выбран с помощью свойства ItemIndex элементов rgShape и rgCount (измените значение с -1 на 0)
- создайте обработчик события OnClick элемента rgShape с помощью двойного щелчка мыши по элементу rgShape
- также используйте этот обработчик события для элемента rgCount:
- в Инспекторе Объектов выберите элемент rgCount
- теперь выберите вкладку Events
- перейдите к событию OnClick и выберите из выпадающего списка событие rgShapeClick
- всякий раз при щелчках по элементам rgShape или rgCount окно формы будет перерисовываться. Для этого напишите следующий код в обработчик события:
procedure TForm1.rgShapeClick(Sender: TObject);
begin
Repaint;
end;
- фигуры будут отрисованы при перерисовке формы:
- выберите в Инспекторе Объектов форму Form1
- перейдите на вкладку Events
- щелкните по кнопке [...], расположенной рядом с событием OnPaint
- теперь обработчик события создан и вам необходимо ввести следующий код:
procedure TForm1.FormPaint(Sender: TObject);
var
i: Integer;
begin
if TryStrToInt(rgCount.Items[rgCount.ItemIndex], i) then
for i:=1 to i do begin
Canvas.Pen.Color:=Random($1000000);
Canvas.Brush.Color:=Random($1000000);
case rgShape.Items[rgShape.ItemIndex] of
'Lines': Canvas.Line(Random(ClientWidth), Random(ClientHeight), Random(ClientWidth), Random(ClientHeight));
'Rectangles': Canvas.Rectangle(Random(ClientWidth), Random(ClientHeight), Random(ClientWidth), Random(ClientHeight));
'Ellipses': Canvas.Ellipse(Random(ClientWidth), Random(ClientHeight), Random(ClientWidth), Random(ClientHeight));
end;
end;
end;
- запустите программу. Должно выглядеть так:
См. также