Показать сообщение отдельно
Старый 05.04.2018, 09:58   #14
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от Guamoko Посмотреть сообщение
Скрипты писать только начинаю.
Имею 2 переменные:

DK.Hprm = Props.NewNumber("ВЫС ПРОЕМА");
и
DK.Hdvr = Props.NewNumber("ВЫС ДВЕРИ");
DK.Hdvr.Value=DK.Hprm.Value-40;

Как их связать так, чтобы при изменении значения в окне Hprm менялось значение в окне Hdvr? Пробовал через OnChange, но, видимо неправильно.
Спасибо.
Я так понимаю, свойства отображаются на форме, а не на панели свойств.
Тут косяк с обновлением окна Hdvr. Если есть возможность, лучше делать на панели свойств, ибо они постабильнее работают. На самом деле OnChange - нормальный вариант, но OnValueChange - лучше. Вот примерный костыль для вашей ситуации:
Код:
DK.Hprm.OnValueChange = function (){
  DK.Hdvr.Value = DK.Hprm.Value - 40;
  DK.Hdvr.Layout.Top = DK.Hdvr.Layout.Top    
}
Последняя строка выставляет верхнее положение окна Hdvr таким, каким оно было. С практической точки зрения, эта строка ничего не меняет, но запускает обновление окна, и значение в нем (в окне) становится заданным строкой выше.
Letos вне форума   Ответить с цитированием Вверх
3 пользователя(ей) сказали cпасибо:
Guamoko (05.04.2018), Ovsyanicov (05.04.2018), Vogel (27.10.2019)