Using TAB to move between fields in Red language

大兔子大兔子 提交于 2019-12-08 04:57:31

问题


I have following simple code:

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]  ]

How can I add code so that one can move between different fields using TAB key? Apparently, this works in Rebol ( http://www.rebol.com/how-to/fields.html ) but is not working here.


回答1:


according gitter archive

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]
]


来源:https://stackoverflow.com/questions/46922423/using-tab-to-move-between-fields-in-red-language

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!