首页 > 解决方案 > Lazarus 按钮切换机制

问题描述

我在 Lazarus 中编写了一个小工具,将其用作我的一些游戏的启动器,所有这些都是通过与按下按钮相关联的 cmd 脚本完成的。

现在我正在寻找对我的工具的两个修改,但是由于我在编程方面不是很有天赋,我希望有人可以帮助我。

我要寻找的第一件事是将TButton标题分成两行。我试图通过 GUI 来做,但没有找到解决方案。

我想做的第二件事是通过按下按钮来更改标题和功能。例如Button1有标题Enable Enhancements,它运行脚本enhancements_on.bat。按下按钮后,我希望它将标题更改为Disable Enhancements,以便脚本enhancements_off.bat在下次按下时运行。

这可能吗?如果是,你是怎么做的?

标签: windowslazarus

解决方案


我发现了。如果有人需要这样的功能,请使用切换框和以下代码:

procedure TForm1.ToggleBox1Change(Sender: TObject);
begin
 if ToggleBox1.Checked then
  begin
   ToggleBox1.Caption:='Mods aktiviert.'
   ShellExecute(0,nil, PChar('cmd'),PChar('/c "start enhancements_on.bat"'),nil,1)
  end
   else ToggleBox1.Caption:='Mods deaktiviert.';
   ShellExecute(0,nil, PChar('cmd'),PChar('/c "start enhancements_off.bat"'),nil,1)
end; 

推荐阅读