删除按钮面

Remove button faces

大家好
我想知道如何用一个按钮去掉两个按钮面。

我试过这个:

gui: [
  en: button "English" remove [en es]
  es: button "Spanih" remove [en es]
]

然后我必须添加新按钮。

你可以试试这个:

Red [Needs: View]
view [
    en: button "English" [remove find face/parent/pane en]
    es: button "Spanish" [
        remove find face/parent/pane en
        remove find face/parent/pane es
    ]
]

View engine 将 GUI 界面建模为对象树;该树中的每个节点称为一个面,该面的每个字段称为一个面。

两个方面,parentpane,分别将面与其父节点和子节点互连。因此,根据该理论,删除按钮就是从其父窗格中删除 button 面:

view [button "Poof!" [probe select take face/parent/pane 'text]]

但是,这种方法有点受限。删除的面从视图树中分离,不能再使用,除非您将具有相同规格的 face! 对象重新附加回窗格。简单地禁用按钮或暂时使其不可见可能更有用。 enabled?visible? 方面可以实现这一点:

view [
    title "Face flags example"
    below
    toggle "Toggle" [foo/enabled?: not foo/enabled?]
    foo: button "Switch" disabled [bar/visible?: not bar/visible?]
    bar: base red
]

您可以根据手头的任务调整此方法。据我了解,您想提供相互排斥的本地化选项; drop-list 可能很适合:

view [drop-list data ["en" "es"]]