|
Динамическое создание объектов на форме |
☑ |
0
Besometr
18.10.12
✎
13:29
|
Приветствую!
Преамбула:
Хочется при открытии формы модально, нарисовать на ней несколько панелей. при этом их не больше 5 и как минимум одна должна быть точно. Ее я рисую на форме и при создании новых панелей просто сдвигаю.
Амбула:
Код простейший, только панели рисуются:
//создадим панели для контрагентов
Номер = 1;
Сдвиг = 0;
ЭтаФорма.Ширина = (4+1) * 270;
Для Номер =1 по 4 Цикл
//Новая панель
нПанель = ЭлементыФормы.Добавить(Тип("Панель"), "Панель"+Номер, Истина);
нПанель.Верх = 33;
нПанель.Лево = 7 + Сдвиг;
нПанель.Ширина = 250;
нПанель.Высота = 250;
нПанель.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Одинарная, 1);
нПанель.ОтображениеЗакладок = ОтображениеЗакладок.НеИспользовать;
Сдвиг = (255) * Номер;
//Номер = Номер +1;
КонецЦикла;
//Подвинем стандартную панель
Сдвиг = Номер * 250 +5;
ЭлементыФормы.Панель5.Лево = (4+1) * 205;
ЭлементыФормы.Панель5.Ширина = 250;
ЭлементыФормы.Панель5.Высота = 250;
Если код запихнуть в событие кнопки, все отрабатывает корректно, если попробовать выполнить его в "ПриОткрытии" панели рисуются одна на одной, у второй панели Панель2.Лево = 15 вместо 262.
|
|
1
НЕА123
18.10.12
✎
13:45
|
попробовать в ОбновлениеОтображения() засунуть.
|
|
2
Besometr
18.10.12
✎
13:46
|
Дык он их будет рисовать и по новой ОбновлятьОтображение, разве нет?
|
|
3
vmv
18.10.12
✎
13:49
|
(0) это создание, ты создаешь нечто на форме и если это окрытие, то создание должно быть в создании хотя звучит и абсурдно
|
|
4
НЕА123
18.10.12
✎
13:50
|
(2)
хм. скорее всего.
не помню: 1С тормозит на команде при открытии модально?
если нет, то попробовать из вызывающей процедуры.
|
|
5
vmv
18.10.12
✎
13:50
|
а это обычная форма, ну извращенец - уже года 3 как все перестали этой фигней страдать
|
|
6
Mkonst
18.10.12
✎
13:51
|
нужно сначала привязки на форме убрать, потом добавлять свои объекты
|
|
7
НЕА123
18.10.12
✎
13:52
|
ПодключитьОбработчикОжидания()
|
|
8
Besometr
18.10.12
✎
13:54
|
НЕА123, и все таки ты прав! :)
в ОбновлениеОтображения() все работает, чего то я не понимаю :)
|
|
9
vmv
18.10.12
✎
13:55
|
(6) еще раз скажешь свлово "привязки" и я стану кричать, совести ваще нет - эти привязки остались только в кошмарах
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший