02 窗口(Begin&End)
02 窗口(Begin&End)
Begin
bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) |
参数说明:
-
name:窗口名称(中文用
u8
) -
p_open(可选):写入关闭状态的内存地址
-
flags(可选):窗口样式
基本案例
Begin
要和End
一起使用。
{ |
窗口样式解读
ImGui
常用样式定义在枚举ImGuiWindowFlags_
中:
ImGuiWindowFlags_None = 0, |
可以通过加法或者**|运算**来进行组合。
窗口样式案例
ImGuiWindowFlags_ wflags{}; |
实践思路1(多窗口)
创建多窗口,设置一个主窗口作为背景填满整个窗口,其它窗口允许移动。
ImGuiWindowFlags_ wflags{}; |
实践思路2(隐藏背景窗口)
glfw
glfw添加如下设置:
glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE); // 设置 背景窗口 透明 |
io设置:
io.ConfigViewportsNoAutoMerge = true; // 防止窗口自动合并上透明窗口 |
dx
修改showwindow第二个参数。
::ShowWindow(hwnd, SW_HIDE); |
io设置:
io.ConfigViewportsNoAutoMerge = true; // 防止窗口自动合并上透明窗口 |
发布于