TToggleBox/ru
Deutsch · English · Français · Suomi · Русский · 日本語
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;См. также
From the Free Pascal wiki, page "TToggleBox/ru", as it stood on 2020-03-02 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.
