红色视频按下输入,焦点如何从一个字段更改为另一个字段

时间:2017-04-05 10:00:06

标签: red

View [
     f1:  field focus
     f2:  field
]

运行此代码光标时,焦点在f1 但我想按Enter键,焦点将在f2。 我怎么能这样做?

1 个答案:

答案 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功能,因此您无需在自己的代码中进行定义。