View [
f1: field focus
f2: field
]
运行此代码光标时,焦点在f1
但我想按Enter键,焦点将在f2
。
我怎么能这样做?
答案 0 :(得分:1)
从on-enter
处理程序内部,您需要更改窗口面的selected
面(在这种情况下只是父面),以指向您要关注的面。所以你的代码变成了:
view [ f1: field focus on-enter [face/parent/selected: f2] f2: field ]
如果您需要经常更改焦点,可以定义一个方便的快捷键功能:
set-focus: function [face [object!]][
p: face/parent
while [p/type <> 'window][p: p/parent]
p/selected: face
]
view [ f1: field focus on-enter [set-focus f2] f2: field ]
Red / View将在未来的版本中提供内置的set-focus
功能,因此您无需在自己的代码中进行定义。