Как в realtime включать draggable для virtual window? [*.uc]

Projack

Чиловый парень
VIP
Участник Новогоднего Фонда 2023
Победитель в номинации 2023
Победитель в номинации 2022
Стальной Визионер
Куратор Данных
Сообщения
578
Розыгрыши
0
Решения
2
Репутация
1 066
Реакции
1 156
Баллы
1 783
Собственно в сабже весь вопрос.
Клиент: Salvation

Делаю переносимое окно с таймером. Нужно чтобы при закрытом замке таймер был не draggable, и кликался насквозь.

1673183058405.png

Открытый замочек соответственно позволяет перетаскивать. Сделал костылем, но так и не нашел адекватного способа как сделать Window не virtual. Или сделать virtual draggable. (если что говорю в терминах xdat)

Как вообще можно это сделать? Пытался придумать что-то типа child'a, который позволит перетаскивать parent. Остановился на костыле с resize. Но что-то норм варианта так и не подвернулось
 

Собственно в сабже весь вопрос.
Клиент: Salvation

Делаю переносимое окно с таймером. Нужно чтобы при закрытом замке таймер был не draggable, и кликался насквозь.

Посмотреть вложение 47198

Открытый замочек соответственно позволяет перетаскивать. Сделал костылем, но так и не нашел адекватного способа как сделать Window не virtual. Или сделать virtual draggable. (если что говорю в терминах xdat)

Как вообще можно это сделать? Пытался придумать что-то типа child'a, который позволит перетаскивать parent. Остановился на костыле с resize. Но что-то норм варианта так и не подвернулось
из коробки только костылем с дочерним элементом, который позволит двигать окно, более изящное решение добавить в эксте клиента функцию, позволяющую в любой нужный момент поменять состояние isVirtual для элемента ui
 
из коробки только костылем с дочерним элементом, который позволит двигать окно, более изящное решение добавить в эксте клиента функцию, позволяющую в любой нужный момент поменять состояние isVirtual для элемента ui
Я не помню как точно, но я это делал и без особых костылей.

Текстбоксы могут находится вне границ окна (даже если он 0х0), так что кнопка просто сжимает окно до своих размеров, а после, кажется, вешает SetAnchor на главный контейнер и он прибивается к месту, в котором остался. При повторном нажатии - якорь снимается (вируал должен остаться).

Повторюсь - точно не помню, но попробовать можно.

P.S. Безусловно экст - мастхев, но не для всех.
 
из коробки только костылем с дочерним элементом, который позволит двигать окно, более изящное решение добавить в эксте клиента функцию, позволяющую в любой нужный момент поменять состояние isVirtual для элемента ui
А каким образом связать перетаскивание дочернего элемента с родителем? В xdat я попробовал такое реализовать, не натыкал нужного.
Через код я так понимаю можно через OnMouse ивенты, но так можно и в родителе сделать.

Я не помню как точно, но я это делал и без особых костылей.

Текстбоксы могут находится вне границ окна (даже если он 0х0), так что кнопка просто сжимает окно до своих размеров, а после, кажется, вешает SetAnchor на главный контейнер и он прибивается к месту, в котором остался. При повторном нажатии - якорь снимается (вируал должен остаться).

Повторюсь - точно не помню, но попробовать можно.

P.S. Безусловно экст - мастхев, но не для всех.
Я примерно так и сделал, играясь размером окна и его смещением. Кнопку оставив в рамках окна, чтобы была кликабельной. Окно по умочанию не virtual. И как раз по клику изменение размера и происходит. Но это прям костыль. Сделать setVirtual конечно самый топ вариант.

И кажется дочерний элемент который сможет двигать родителя кажется более приятным вариантом
 
Назад
Сверху Снизу