moriVotum Posted December 8 Posted December 8 Здравствуйте, необходимо сделать внутри приложения несколько окон с изначально заданными размерами. Создаю EngineWindowGroup и добавляю в него два окна с разными размерами, по итогу значения размеров сбрасывается и окна добавляются пропорционально общей группе (т.е. по ширине, в моем случае делятся по полам, т.к. в параметрах группы указывал расположение окон по горизонтали). Есть ли какой - либо способ задать размеры окнам? либо любой другой способ позволяющий воздействовать на размеры окон в группе (например относительно размеров общего окна)? На верхней части скриншота показано как два окна с разными размерами добавляются в группу и что из этого выходит, а в нижней, то как они отображаются без добавления в одну группу. Код: EngineWindowViewport window_1 = new("Window 1", 512, 256); EngineWindowViewport window_2 = new("Window 2", 256, 256); EngineWindowViewport window_3 = new("Window 3", 512, 256); EngineWindowViewport window_4 = new("Window 4", 256, 256); EngineWindowGroup parentGroup = new(EngineWindowGroup.GROUP_TYPE.HORIZONTAL, "Main Group", 512 + 256, 256); parentGroup.Add(window_1); parentGroup.Add(window_2); parentGroup.Show(); window_3.Show(); window_4.Show(); Создаю четыре окна, первые два добавляю в группу, вторые просто отображаю. Размеры группы задаются с учетом размеров добавляемых окон.
bmyagkov Posted December 9 Posted December 9 Добрый день! При создании группы действительно используется расчет размеров через пропорции. Для достижения желаемого поведения может понадобиться использование соответствующего API: https://developer.unigine.com/en/docs/future/api/library/gui/class.enginewindowgroup?rlang=cpp&autotranslate=en#setHorizontalTabWidth_int_int_void Также рекомендуем ознакомиться с примером CustomLayout, который доступен в SDK по следующему пути: Samples -> C++ API -> WINDOWMANAGER Спасибо! 1
moriVotum Posted December 9 Author Posted December 9 Спасибо большое! Это то, что нужно было, всё заработало! 1
bmyagkov Posted December 9 Posted December 9 13 minutes ago, moriVotum said: Спасибо большое! Это то, что нужно было, всё заработало! Пожалуйста!
Recommended Posts