我用明亮的脚本创建了一个登录表单。正在关注
''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''
TextBox 1 '这里的焦点是活动的,我默认在TextBox字段中设置active = true
文本框2 '在这里按下键激活true
按钮1 '再次按下此键可将焦点对准真
''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''
在这里,我使用3个不同的键维护3个项目。现在,我想使用向下键为所有3个项目维护单个键。任何人都想知道如何使用Brightscript保持焦点。
我使用了一个函数来进行键处理
function onKeyEvent(key as String, press as Boolean) as Boolean
.................
end function
现在,我保持了像 我在默认情况下将TextBox Focus设置为XML File,现在将Logic应用于下面。 默认情况下,第一项重点设置在XML文件上。
if key = "down" then
'Here Second item focus
m.keypass.active = true ' Here work successfully First time
if key = "down" and m.keypass.active = true and m.btnsub.active = false then
'Here not maintain successfully its directly call here I press the down key.
m.keypass.active = false
m.btnsub.active = true 'Here third item focus is not maintained
end if
end if
我第一次按下向下键,效果很好,但是第二次如何处理Focus。我在向上键中使用了相同的内容。
在这里我使用“ and”,那么如果有任何想法,问题就会发生。
编辑后的帖子:
我用下面的代码使用向上和向下键进行处理。它正在工作,但是,它一次只能工作。
if key = "up" or key = "down"
if key = "down"
?"here down key"
if m.keypass.id = "instructpass" and m.keypass.active = true
? "down key if part"
m.btngrp.setFocus(true)
m.keypass.active = false
handled = true
else if m.keyid.id = "instructid" and m.keyid.active = true
?" down key else part"
m.keypass.active = true
m.keyid.active = false
handled = true
else if m.btngrp.buttonSelected = 0
m.keyid.active = true
m.btngrp.setFocus(false)
handled = true
end if
handled = true
else if key = "up"
? "here up key"
if m.keypass.active = true
?"up key if part"
m.keyid.active = true
m.keypass.active = false
handled = true
else if m.keyid.active = true
?"id key"
m.btngrp.setFocus(true)
m.btngrp.focusButton = 1
m.keyid.active = false
handled = true
else if m.btngrp.focusButton = 0 and m.btngrp.buttonSelected = 0
?"up key else part"
m.keypass.active = true
m.keypass.setFocus(true)
m.btngrp.setFocus(false)
handled = true
end if
handled = true
end if
handled = true
end if
谢谢。
答案 0 :(得分:0)
选中here。
您应该使用.setFocus(true)和.hasFocus(),它们可用于大多数可渲染节点,例如TextEditBox和Button。
例如
if key = "down" then
if textBox1.hasFocus() then
textBox2.setFocus(true)
elseif textBox2.hasFocus() then
button.setFocus(true)
end if
end if
if key = "up" then
if button.hasFocus() then
textBox2.setFocus(true)
elseif textBox2.hasFocus() then
textBox1.setFocus(true)
end if
end if