如何在 LiveCode 中创建自定义对话框
How to create a custom dialog box in LiveCode
我有一个按钮。当我单击该按钮时,我希望弹出一个对话框,其中包含多个文本字段和按钮。我一直在四处寻找,试图找出如何做到这一点,但我越来越困惑。有人可以帮忙吗?
最简单的对话框示例如下。为您的主堆栈创建一个新的子堆栈并调用子堆栈 "Dialog"。向子堆栈添加一个按钮,调用按钮 "OK" 并为其提供以下脚本:
on mouseUp
set the dialogData to "OK"
close this stack
end mouseUp
在你的 mainstack 中创建另一个按钮并给它这个脚本:
on mouseUp
go stack "Dialog" as modal
put the dialogData
end mouseUp
您现在有一个对话框 window。您可以向对话框堆栈添加字段和更多按钮。例如,您可以使用以下脚本创建一个取消按钮:
on mouseUp
set the dialogData to "Cancel"
close this stack
end mouseUp
如果你有一个字段,你可以将按钮 "OK" 的脚本更改为
on mouseUp
set the dialogData to fld 1
close this stack
end mouseUp
在您的文件中创建一个看起来像您希望对话框看起来的新子堆栈,然后使用 "modal" 命令显示它。
虽然模态对话框有点过时,但为什么不把它做成一个单独的堆栈,打开它(例如使用 "modeless" 命令),这样就可以让用户检查或复制数据主要 window?
更新:按照 Mark 的建议进行操作。 "as modal" 语法比仅使用 "modal" 作为命令更具可读性(不知道 LiveCode 现在有这种变体)。但是,如果可以的话,我仍然建议使用无模式,如果用户可以在 windows 之间来回切换而不是被你强制进入固定顺序,这对你的用户来说更好。
我有一个按钮。当我单击该按钮时,我希望弹出一个对话框,其中包含多个文本字段和按钮。我一直在四处寻找,试图找出如何做到这一点,但我越来越困惑。有人可以帮忙吗?
最简单的对话框示例如下。为您的主堆栈创建一个新的子堆栈并调用子堆栈 "Dialog"。向子堆栈添加一个按钮,调用按钮 "OK" 并为其提供以下脚本:
on mouseUp
set the dialogData to "OK"
close this stack
end mouseUp
在你的 mainstack 中创建另一个按钮并给它这个脚本:
on mouseUp
go stack "Dialog" as modal
put the dialogData
end mouseUp
您现在有一个对话框 window。您可以向对话框堆栈添加字段和更多按钮。例如,您可以使用以下脚本创建一个取消按钮:
on mouseUp
set the dialogData to "Cancel"
close this stack
end mouseUp
如果你有一个字段,你可以将按钮 "OK" 的脚本更改为
on mouseUp
set the dialogData to fld 1
close this stack
end mouseUp
在您的文件中创建一个看起来像您希望对话框看起来的新子堆栈,然后使用 "modal" 命令显示它。
虽然模态对话框有点过时,但为什么不把它做成一个单独的堆栈,打开它(例如使用 "modeless" 命令),这样就可以让用户检查或复制数据主要 window?
更新:按照 Mark 的建议进行操作。 "as modal" 语法比仅使用 "modal" 作为命令更具可读性(不知道 LiveCode 现在有这种变体)。但是,如果可以的话,我仍然建议使用无模式,如果用户可以在 windows 之间来回切换而不是被你强制进入固定顺序,这对你的用户来说更好。