给定这个: 视图布局 [ 字段 [打印"1" ] 字段 [打印"2"] ]
当我将+Tab从字段#2移动到字段#1时,不会触发任何操作。如何让它们像普通选项卡一样触发?
这是 Rebol/View 引擎中field
样式的键处理程序中的错误。下面是一个快速补丁,您可以将其包含在代码中以修复它并使 SHIFT+Tab 正常工作:
use [body f pos][
;-- patch `ctx-text/back-field` function to fix the bug
body: copy/deep second f: get in ctx-text 'back-field
insert body/2/while [if head? item [item: tail item]]
ctx-text/back-field: func first :f :body
;-- remove test that disables face/action for back-tabs
body: second get in ctx-text 'edit-text
body: find body 'word?
pos: at body/3/7/tab-char/5/6 11
change/part pos pos/4 4
]
此代码将在运行时遍历 View 引擎函数(代码是 Rebol 中的数据(,并通过在需要时注入或删除代码来热修补函数体。
如果您碰巧是 Rebol/SDK 用户,我可以为您提供直接修补源文件的说明,以便您可以封装一个固定的 View 可执行文件。
享受。