如何使用ImGui.NET制作具有指定位置和大小的滑块?所有的东西似乎都是按顺序呈现的,它们被称为从窗口向下,或者用相同的行方法在最后一个组件的右边呈现。我试着制作一个没有背景或标题栏的窗口,但是滑块似乎使用的宽度约为窗口宽度的0.65倍,而我发现控制高度的尝试和错误检查的唯一方法是使用ImGuiStylePtr.FramePadding,它似乎是添加到字体大小上的。任何在原始的亲爱的ImGui中工作的东西都可能适用于ImGui.NET,如果有人知道解决方案的话。
发布于 2022-10-12 03:29:17
弄明白了
void Init()
{
    ImGui.GetStyle().WindowPadding = Vector2.Zero;
}
...
public void DrawSlider(int x, int y, int width, int height, float min, float max, ref float value, string label = "")
{
    ImGui.SetNextWindowPos(new Vector2(x - 2, y - 2));
    ImGui.Begin("slider1", ImGuiWindowFlags.NoTitleBar | ImGuiWindowFlags.NoBackground);
    ImGui.SetNextItemWidth(width + 2);
    var style = ImGui.GetStyle();
    var framePadding = style.FramePadding;
    style.FramePadding = new Vector2(0, (height - ImGui.GetFontSize() + 1) * 0.5f);
    ImGui.SliderFloat(label, ref value, min, max, "");
    style.FramePadding = framePadding;
    ImGui.End();
}https://stackoverflow.com/questions/74031156
复制相似问题