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

Цитата:
Сообщение от Максим Геннадьевич Посмотреть сообщение
Как очистить форму? Выбираю тип1 появляется дверь, выбираю тип2 появляется ящик, но и дверь остается. Подскажите какая функция очищает форму? Спасибо
Вот решение:
Код:
MakeProperties();

Action.Continue();

function MakeProperties() {
    Prop = Action.Properties;
    combo = Prop.NewCombo('Тип шкафа', 'Тип1\nТип2');

    Prop.OnChange = function () {
        if (combo.ItemIndex == 0) {
            if (typeof Box !== 'undefined'){
                Box.DeleteSelf();
            }
            if (typeof Door !== 'undefined'){
                Door.DeleteSelf();
            }
            Door = Prop.NewGroup('Дверь');
            // какой-то еще код
        }
        else if (combo.ItemIndex == 1) {
            if (typeof Box !== 'undefined'){
                Box.DeleteSelf();
            }
            if (typeof Door !== 'undefined'){
                Door.DeleteSelf();
            }
            Box = Prop.NewGroup('ящик');
            // какой-то еще код
        }
    }
}
Но, в зависимости от количества свойств, оно может еще прибавить в размерах. Лучшим вариантом будет создание отдельной группы для изменяемых параметров и создавать эти параметры внутри группы, например:
Код:
MakeProperties();

Action.Continue();

function MakeProperties() {
    var Prop = Action.Properties;
    var combo = Prop.NewCombo('Тип шкафа', 'Тип1\nТип2');
    var params = Prop.NewGroup('Параметры');
    combo.OnChange = function () {
        if (combo.ItemIndex == 0) {
            params.Clear();
            Door = params.NewGroup('Дверь');
            // какой-то еще код
        }
        else if (combo.ItemIndex == 1) {
            params.Clear();
            Box = params.NewGroup('ящик');
            // какой-то еще код
        }
    }
}
Letos вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
Ovsyanicov (13.06.2018), Максим Геннадьевич (13.06.2018)