Копия викизеркало

Это зеркало вики с pascal.chat. Правка, история и вход — там.

TToggleBox/ru

Deutsch · English · Français · Suomi · Русский · 日本語

TToggleBox представляет собой кнопку с надписью, имеющую 2 логических состояния - нажата или не нажата. Перевод из одного состояния в другое осуществляется одиночным щелчком мыши.

Вы можете проверить статус кнопки (активна или не активна) в любом месте в программе с помощью такой команды Status := <ToggleBox>.Checked;. Вы можете использовать значение свойства Checked как обычное логическое значение. Также допустимо и выражение присваивания <ToggleBox>.Checked := True;.

Простой пример

pascal
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 в исходном коде. Но вы легко можете создать и новый пример:

pascal
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.

Версия 1, последнее изменение: WikiArchive, .