TRadioGroup/ru
Deutsch · English · Français · Suomi · Русский · 日本語
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;- запустите программу. Должно выглядеть так:

См. также
From the Free Pascal wiki, page "TRadioGroup/ru", as it stood on 2020-03-01 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
