Difference between revisions of "TRadioGroup/ru"
(Created page with "{{TRadioGroup}} '''TRadioGroup''' image:tradiogroup.png является элементом управления с взаимосвязанными, но взаимои...") |
m (Fixed syntax highlighting) |
||
Line 23: | Line 23: | ||
** перейдите к событию ''OnClick'' и выберите из выпадающего списка событие ''rgShapeClick'' | ** перейдите к событию ''OnClick'' и выберите из выпадающего списка событие ''rgShapeClick'' | ||
* всякий раз при щелчках по элементам ''rgShape'' или ''rgCount'' окно формы будет перерисовываться. Для этого напишите следующий код в обработчик события: | * всякий раз при щелчках по элементам ''rgShape'' или ''rgCount'' окно формы будет перерисовываться. Для этого напишите следующий код в обработчик события: | ||
− | < | + | |
+ | <syntaxhighlight lang=pascal> | ||
procedure TForm1.rgShapeClick(Sender: TObject); | procedure TForm1.rgShapeClick(Sender: TObject); | ||
begin | begin | ||
Repaint; | Repaint; | ||
end; | end; | ||
− | </ | + | </syntaxhighlight> |
+ | |||
* фигуры будут отрисованы при перерисовке формы: | * фигуры будут отрисованы при перерисовке формы: | ||
** выберите в Инспекторе Объектов форму ''Form1'' | ** выберите в Инспекторе Объектов форму ''Form1'' | ||
Line 34: | Line 36: | ||
** щелкните по кнопке [...], расположенной рядом с событием ''OnPaint'' | ** щелкните по кнопке [...], расположенной рядом с событием ''OnPaint'' | ||
** теперь обработчик события создан и вам необходимо ввести следующий код: | ** теперь обработчик события создан и вам необходимо ввести следующий код: | ||
− | < | + | |
+ | <syntaxhighlight lang=pascal> | ||
procedure TForm1.FormPaint(Sender: TObject); | procedure TForm1.FormPaint(Sender: TObject); | ||
var | var | ||
Line 50: | Line 53: | ||
end; | end; | ||
end; | end; | ||
− | </ | + | </syntaxhighlight> |
+ | |||
* запустите программу. Должно выглядеть так: | * запустите программу. Должно выглядеть так: | ||
Latest revision as of 12:24, 1 March 2020
│
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;
- запустите программу. Должно выглядеть так:
См. также