上节课,我们添加了两个按钮,一个点击按钮后按钮文字改变,一个点击后关闭当前窗体。本节我们给第一个按钮添加更复杂一点的逻辑。点击按钮修改文字,再次点击又把文字改回来,这样轮替更换。主要是学习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 点击事件,点击右侧输入框,再点末尾 ... 省略号按钮,自动跳转到代码编辑器对应函数
清空原有代码,粘贴下方完整代码 保存项目 → 编译 → 运行程序,点击按钮即可切换文字
- Tag 属性:所有窗体控件自带的整型属性,用来存自定义数字标记,这里只用 0、1 两种状态
- 第一次点击:Tag=0 → 文字变为
Press again,Tag 赋值 1 - 第二次点击:Tag=1 → 文字变回
Press,Tag 赋值 0 - 循环点击持续来回切换,实现开关 / 切换效果
上面代码借助按钮的Tag属性,来存储按钮的状态,从而实现了切换效果。
运行效果
Previous: 按钮点击事件
Next: Lazarus IDE 编辑器窗口介绍