API 参考
正在准备搜索索引…

ImGui.OpenPopup

  • 将弹出窗口标记为打开。

    参数

    str_id
    string | Uint8Array

    字符串标识符,与当前 ID 栈一起散列以区分此项或作用域。

    popup_flags
    number = 0

    控制此操作的 ImGuiPopupFlags 选项;可用 | 组合兼容的标志位。

    返回值

    void

    弹出窗口:打开/关闭函数。

    • OpenPopup() 将状态设为打开;可通过 ImGuiPopupFlags 指定打开选项。

    • 非模态窗口可通过点击外部任意位置或按 ESCAPE 关闭。

    • CloseCurrentPopup() 在 BeginPopup()/EndPopup() 作用域内手动关闭窗口。

    • Selectable()/MenuItem() 激活时默认调用 CloseCurrentPopup()(待修复:需要一些选项)。

    • 使用 ImGuiPopupFlags.NoOpenOverExistingPopup,可在同层级已有弹出窗口时避免再打开;等同于在 OpenPopup() 之前检查 !IsPopupOpen("", ImGuiPopupFlags.AnyPopupId)。

    • 在 BeginPopup() 之后使用 IsWindowAppearing(),可判断窗口是否刚打开。

    • 重要:为兼容接受 'int mouse_button = 1' 的旧 API,OpenPopupOnItemClick() 例外地将 flags 默认为 1(== ImGuiPopupFlags.MouseButtonRight)。调用以将弹出窗口标记为打开(不要每帧调用!)。

    源码与继承

Icons made by Lorc, Delapouite & Skoll · game-icons.net · CC BY 3.0