Difference between revisions of "TToggleBox/ru"
(Created page with "{{TToggleBox}} '''TToggleBox''' image:ttogglebox.png представляет собой кнопку с надписью, имеющую 2 логических сост...") |
m (Fixed syntax highlighting) |
||
Line 11: | Line 11: | ||
* Создайте обработчик события ''OnClick'' для кнопки: для этого перейдите на вкладку ''Events'' в окне Инспектора Объектов, выберите событие ''OnClick'' и нажмите кнопку [...] или просто дважды щелкните по этому полю. | * Создайте обработчик события ''OnClick'' для кнопки: для этого перейдите на вкладку ''Events'' в окне Инспектора Объектов, выберите событие ''OnClick'' и нажмите кнопку [...] или просто дважды щелкните по этому полю. | ||
* Добавьте следующий код в обработчик события кнопки ''btnPaint'': | * Добавьте следующий код в обработчик события кнопки ''btnPaint'': | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
procedure TForm1.btnPaintClick(Sender: TObject); | procedure TForm1.btnPaintClick(Sender: TObject); | ||
var | var | ||
Line 40: | Line 40: | ||
** После этого повторите те же действия для элемента ''tbBlue''. | ** После этого повторите те же действия для элемента ''tbBlue''. | ||
* В результате получится обработчик события ''OnChange'' для всех элементов '''ToggleBox'''. Цвет фона формы будет меняться в соответствии со значением свойства ''<ToggleBox>.Checked'' выбранного элемента: | * В результате получится обработчик события ''OnChange'' для всех элементов '''ToggleBox'''. Цвет фона формы будет меняться в соответствии со значением свойства ''<ToggleBox>.Checked'' выбранного элемента: | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
procedure TForm1.tbRedChange(Sender: TObject); | procedure TForm1.tbRedChange(Sender: TObject); | ||
var | var |
Latest revision as of 02:53, 2 March 2020
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
日本語 (ja) │
русский (ru) │
TToggleBox представляет собой кнопку с надписью, имеющую 2 логических состояния - нажата или не нажата. Перевод из одного состояния в другое осуществляется одиночным щелчком мыши.
Вы можете проверить статус кнопки (активна или не активна) в любом месте в программе с помощью такой команды Status := <ToggleBox>.Checked;
. Вы можете использовать значение свойства Checked как обычное логическое значение. Также допустимо и выражение присваивания <ToggleBox>.Checked := True;
.
Простой пример
- Создайте новое приложение и разместите на форме три элемента TToggleBox.
- Измените свойства Caption этих элементов с ToggleBox1...3 на Red, Green и Blue, а имена (свойство Name) на tbRed, tbGreen и tbBlue, соответственно.
- Добавьте на форму кнопку TButton и измените её свойство Caption на Paint new, а имя на btnPaint.
- Создайте обработчик события OnClick для кнопки: для этого перейдите на вкладку Events в окне Инспектора Объектов, выберите событие OnClick и нажмите кнопку [...] или просто дважды щелкните по этому полю.
- Добавьте следующий код в обработчик события кнопки btnPaint:
procedure TForm1.btnPaintClick(Sender: TObject);
var
aColor: TColor;
begin
aColor:=0; //Background color of Form1 is set according to the Toggleboxes
if tbRed.Checked then aColor:=aColor + $0000FF;
if tbGreen.Checked then aColor:=aColor + $00FF00;
if tbBlue.Checked then aColor:=aColor + $FF0000;
Color := aColor; //the change of the property <Formular>.Color causes a redrawing of the form
end;
- Запустите программу. Должно выглядеть примерно так:
Использование события элемента TToggleBox
Отличие от предыдущего примера заключается в том, что цвет формы будет изменяться не с помощью щелчка по кнопке, а с помощью щелчков по одному из элементов TToggleBox.
Вы можете модифицировать предыдущий пример, удалив кнопку btnPaint и её обработчик события OnClick в исходном коде. Но вы легко можете создать и новый пример:
- Создайте новое приложение и разместите на форме три элемента TToggleBox.
- Измените свойства Caption этих элементов с ToggleBox1...3 на Red, Green и Blue, а имена (свойство Name) на tbRed, tbGreen и tbBlue, соответственно.
- Создайте обработчик события OnChange для одного из элементов ToggleBox, например,
TForm1.tbRedChange(Sender: TObject);
, а также подключите его к другим элементам ToggleBox:- Дважды щелкните по элементу tbRed или выберите элемент tbRed на форме и перейдите на вкладку Events в окне Инспектора Объектов, затем выберите событие OnClick и нажмите кнопку [...].
- В результате будет создана процедура tbRedChange.
- Теперь выберите на форме элемент tbGreen.
- Перейдите на вкладку Events в окне Инспектора Объектов, выберите событие OnChange и в выпадающем списке укажите событие tbRedChange.
- После этого повторите те же действия для элемента tbBlue.
- В результате получится обработчик события OnChange для всех элементов ToggleBox. Цвет фона формы будет меняться в соответствии со значением свойства <ToggleBox>.Checked выбранного элемента:
procedure TForm1.tbRedChange(Sender: TObject);
var
aColor: TColor;
begin
aColor:=0; //Background color of Form1 is set according to the Toggleboxes
if ToggleBox1.Checked then aColor:=aColor + $0000FF;
if ToggleBox2.Checked then aColor:=aColor + $00FF00;
if ToggleBox3.Checked then aColor:=aColor + $FF0000;
Color := aColor; //the change of the property <Formular>.Color causes a redrawing of the form
end;
См. также