Как сделать inputtext активным при открытии окна [mimgui]

plalkeo

Известный
Автор темы
731
299
Версия MoonLoader
.026-beta
Всем привет, у меня есть скрипт на mimgui, который открывает окно в необходимый момент, выглядит оно вот так
1657104338475.png

И когда оно открывается, я хочу сделать чтобы поле ввода автоматически становилось активным при каждом открытии окна(оно будет много раз открываться), типо не нажимать и потом вводить, а сразу вводить текст в данном поле
Не знаю, нужен ли он тут, но на всякий случай прикреплю код луа инпута.
Lua:
imgui.InputText(u8"##инпут", ad_d, ffi.sizeof(ad_d))

Я видел тему похожую, там был ответ который работал для меня, но там был imgui, я перенес в мимгуи, и оно работало только первый раз, последующие открытия данного окна оно не ставило на нем фокус
 

plalkeo

Известный
Автор темы
731
299
imgui.SetKeyboardFocusHere()

Lua:
imgui.SetKeyboardFocusHere()
imgui.InputText(u8"##инпут", ad_d, ffi.sizeof(ad_d))
Сделав вот так, я получаю необходимый результат, но перестают работать кнопки которые идут дальше в коде, а так же при повторном открытии(второй раз и далее), весь текст моментально удаляется, а еще не нажимаются другие InputText'ы в данном окне
 

RedHolms

Известный
Проверенный
620
367
Lua:
imgui.SetKeyboardFocusHere()
imgui.InputText(u8"##инпут", ad_d, ffi.sizeof(ad_d))
Сделав вот так, я получаю необходимый результат, но перестают работать кнопки которые идут дальше в коде, а так же при повторном открытии(второй раз и далее), весь текст моментально удаляется, а еще не нажимаются другие InputText'ы в данном окне
скинь код
 

plalkeo

Известный
Автор темы
731
299
Я не знаю какой тебе надо конкретно, скинул код всего окна
Lua:
local ad_d = imgui.new.char[160]('')
local t_ffr = imgui.OnFrame(
    function() return main_window_state[0] and not isPauseMenuActive() end,
    function(self)
        imgui.SetNextWindowPos(imgui.ImVec2(iScreenWidth / 2, iScreenHeight/2), imgui.Cond.Always, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(800, 300))
        imgui.Begin(u8'Информация', main_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoTitleBar, imgui.WindowFlags.NoMove + imgui.WindowFlags.NoSavedSettings)
        imgui.PushItemWidth(760)
        imgui.SetKeyboardFocusHere()
        imgui.InputText(u8"##инпут", ad_d, ffi.sizeof(ad_d))
        imgui.PopItemWidth()
        imgui.End()
    end
)