使2windows同时出现在红语中

Making 2 windows appear simultaneously in Red language

如何让这 2 个单独的 windows 同时出现并保持打开状态,除非按下退出按钮?

   Red []

   view/flags [ below
            text "second view"
            f2: field "f2 text"
            ] 'no-buttons

   view/flags [ below
        text "first view"
        b1: button "Print f2 text" [print f2/text]
        quitb: button "quit" [quit]
    ] 'no-buttons

我试图将第二个视图放入函数中并从第一个视图调用它 - 但它仅显示第二个视图(第一个视图在第二个视图被 Alt-F4 关闭后显示)。

view 的调用是一个阻塞调用,它将 运行 它自己的事件循环,直到它关闭。 view/no-wait 会打开 window 而没有新的事件循环,所以它不会阻塞(仍然需要事件循环来处理事件)。所以你可以打开第一个 window 为非阻塞模式,最后一个以阻塞模式打开,用于 运行 事件循环:

view/no-wait/flags [
    below
    text "second view"
    f2: field "f2 text"
] 'no-buttons

view/flags [
    below
    text "first view"
    b1: button "Print f2 text" [print f2/text]
    quitb: button "quit" [quit]
] 'no-buttons