使用 TAB 在 Red 语言的字段之间移动
Using TAB to move between fields in Red language
我有以下简单代码:
Red []
view [
text "Value of x:" f1: field "" return
text "Value of y:" f2: field "" return
text "Read Sum:" tt: text "" return
button "Calculate" [
tt/text: to-string ((to-integer f1/text) + (to-integer f2/text)) ]
button "Quit" [quit] ]
如何添加代码以便可以使用 TAB 键在不同字段之间移动?显然,这在 Rebol ( http://www.rebol.com/how-to/fields.html ) 中有效,但在这里不起作用。
handle-key: function [e prev-fld next-fld][
k: e/key
if k = tab [
either e/shift? [win/selected: prev-fld][win/selected: next-fld]
]
]
view [
text "Value of x:" f1: field "" on-key [handle-key event tt f2] return
text "Value of y:" f2: field "" on-key [handle-key event f1 tt] return
text "Read Sum:" tt: text "" on-key [handle-key event f2 f1] return
button "Calculate" [
tt/text: to-string ((to-integer f1/text) + (to-integer f2/text))
]
button "Quit" [quit]
do [win: self win/selected: f1]
]
我有以下简单代码:
Red []
view [
text "Value of x:" f1: field "" return
text "Value of y:" f2: field "" return
text "Read Sum:" tt: text "" return
button "Calculate" [
tt/text: to-string ((to-integer f1/text) + (to-integer f2/text)) ]
button "Quit" [quit] ]
如何添加代码以便可以使用 TAB 键在不同字段之间移动?显然,这在 Rebol ( http://www.rebol.com/how-to/fields.html ) 中有效,但在这里不起作用。
handle-key: function [e prev-fld next-fld][
k: e/key
if k = tab [
either e/shift? [win/selected: prev-fld][win/selected: next-fld]
]
]
view [
text "Value of x:" f1: field "" on-key [handle-key event tt f2] return
text "Value of y:" f2: field "" on-key [handle-key event f1 tt] return
text "Read Sum:" tt: text "" on-key [handle-key event f2 f1] return
button "Calculate" [
tt/text: to-string ((to-integer f1/text) + (to-integer f2/text))
]
button "Quit" [quit]
do [win: self win/selected: f1]
]