TToggleBox/ru
│
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;
См. также