首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ImGui.NET在指定位置和大小绘制滑块

使用ImGui.NET在指定位置和大小绘制滑块
EN

Stack Overflow用户
提问于 2022-10-11 16:13:49
回答 1查看 122关注 0票数 0

如何使用ImGui.NET制作具有指定位置和大小的滑块?所有的东西似乎都是按顺序呈现的,它们被称为从窗口向下,或者用相同的行方法在最后一个组件的右边呈现。我试着制作一个没有背景或标题栏的窗口,但是滑块似乎使用的宽度约为窗口宽度的0.65倍,而我发现控制高度的尝试和错误检查的唯一方法是使用ImGuiStylePtr.FramePadding,它似乎是添加到字体大小上的。任何在原始的亲爱的ImGui中工作的东西都可能适用于ImGui.NET,如果有人知道解决方案的话。

EN

回答 1

Stack Overflow用户

发布于 2022-10-12 03:29:17

弄明白了

代码语言:javascript
运行
复制
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();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74031156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档