Переключение текста кнопки по клику

На прошлом уроке мы добавили две кнопки: одна меняет свой текст при нажатии, другая закрывает текущее окно. В этом разделе мы добавим немного более сложную логику для первой кнопки. При каждом нажатии текст кнопки переключается туда-сюда. Основная цель — изучить синтаксис Pascal.

Откройте проект, созданный ранее

Вы можете напрямую отредактировать функцию обработки клика в файле pas или перейти к функции события первой кнопки по инструкции ниже.

Замените код функции события на следующий фрагмент

procedure TForm1.Button1Click(Sender: TObject);
{ Использовать свойство Tag кнопки для хранения состояния и переключения текста }
begin
  // Проверка значения Tag: 0 = состояние по умолчанию, 1 = переключенное состояние
  if Button1.Tag = 0 then
  begin
    Button1.Caption := 'Press again';  // Изменить отображаемый текст кнопки
    Button1.Tag := 1;                  // Пометить состояние как 1
  end
  else
  begin
    Button1.Caption := 'Press';        // Вернуть исходный текст
    Button1.Tag := 0;                  // Сбросить маркер в 0
  end;
end;Code language: JavaScript (javascript)

Шаги для перехода к событию кнопки

Откройте сохраненный проект Lazarus, переключитесь на режим дизайна Form1 и кликните по кнопке с надписью Press (Button1) на форме.

При выбранном элементе перейдите на вкладку Events (События) в правом инспекторе объектов (Object Inspector).

Найдите строку события OnClick, кликните по полю ввода справа от него, затем нажмите кнопку многоточия ... в конце — редактор автоматически перейдёт к соответствующей функции в коде.

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

  1. Свойство Tag: встроенное целочисленное свойство всех элементов окна для хранения пользовательских цифровых маркеров. Здесь используются только два состояния: 0 и 1.
  2. Первое нажатие: Tag=0 → текст меняется на Press again, Tag присваивается значение 1
  3. Второе нажатие: Tag=1 → текст возвращается к Press, Tag сбрасывается в 0
  4. Повторные нажатия циклически переключают текст, создавая эффект переключателя.

Приведённый код использует свойство Tag кнопки для запоминания её состояния и реализует переключение текста.

Демонстрация работы

Переключение текста кнопки по клику

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *