我允许用户使用Tab键浏览表单。
我有这样的表格......
这是我需要的标签顺序......
我将图层编号(在Property Inspector窗口中)设置为以下...
当我运行此表单时,会重点关注用户名。当我按Tab键时,它会转到密码。当我再次按Tab键时,它会返回到用户名(而不是按钮)。
我尝试在密码文本框中添加代码以强制关注按钮。
on tabKey
focus on button "logIn"
end tabKey
但我收到了错误......
"焦点:不是有效的控制"
我在网上找不到合适的解决方案。怎么做到这一点?
在其他语言中,这样做更容易。
编辑:我发现这个zip文件包含来自livecode forum的实时代码示例文件,该文件显示了按钮的hilite。这不是问题的真正解决方案,因为它并没有真正聚焦按钮,而是改变了看起来像活动按钮的按钮的颜色。当我按下空格键而按钮是hilite时,它什么也没做。
答案 0 :(得分:1)
将按钮的遍历设置为true。这允许您想要的行为。请注意,Mac默认情况下不支持按钮遍历,但它可以在Windows上运行。
答案 1 :(得分:0)
答案 2 :(得分:-1)
"聚焦"对按钮来说不是一个特别有用的术语。当你专注于一个领域时,你就是" hiliting"该字段,并将光标放在其文本后面(如果有的话)。
但对于"焦点"它意味着什么?在按钮上?你想要按钮,或者以其他方式引起注意吗?如果是这样,当从密码字段中跳出标签时,您需要设置按钮的某些属性,但可能不会关注它。
答案 3 :(得分:-1)
行。在新卡上创建两个字段,然后在两个按钮上创建两个字段。正如Jacque所说,确保每个按钮的遍历都已设置。请在卡片脚本中尝试:
on tabkey
put the layer of the target into tLayer
put the name of the target into tName
put tname
if tName contains "button" then
set the hilite of the target to "false"
end if
if tLayer = the number of controls then focus on control 1
else
focus on control (tLayer + 1)
if the name of control (tLayer + 1) contains "button" then set the hilite of control (tLayer + 1) to "true"
end if
end tab key
在选项卡中,您将看到每个控件的操作。