按钮点击文字切换

上节课,我们添加了两个按钮,一个点击按钮后按钮文字改变,一个点击后关闭当前窗体。本节我们给第一个按钮添加更复杂一点的逻辑。点击按钮修改文字,再次点击又把文字改回来,这样轮替更换。主要是学习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)

选中控件 右侧「对象查看器(Object Inspector)」切换到 Events(事件)

标签页 找到 OnClick 点击事件,点击右侧输入框,再点末尾 ... 省略号按钮,自动跳转到代码编辑器对应函数

清空原有代码,粘贴下方完整代码 保存项目 → 编译 → 运行程序,点击按钮即可切换文字

  1. Tag 属性:所有窗体控件自带的整型属性,用来存自定义数字标记,这里只用 0、1 两种状态
  2. 第一次点击:Tag=0 → 文字变为 Press again,Tag 赋值 1
  3. 第二次点击:Tag=1 → 文字变回 Press,Tag 赋值 0
  4. 循环点击持续来回切换,实现开关 / 切换效果

上面代码借助按钮的Tag属性,来存储按钮的状态,从而实现了切换效果。

运行效果

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注