Имя: Пароль:
1C
 
Как на форму программно добавить контролы ?
0 alex4x
 
10.03.06
15:52
Есть на форме Панель1 (ну с закладками) при выборе закладки надо программно добавить в закладку контролы. Текстовое поле, таблицу и картинку. Но я что-то не пойму как это сделать. может кто поможет ?

Процедура Панель1ПриСменеСтраницы(Элемент, ТекущаяСтраница)
  // Вот тут надо что-то вписать
КонецПроцедуры
1 Волшебник
 
модератор
10.03.06
15:54
Нов = ЭлементыФормы.Добавить()
2 it086
 
10.03.06
15:55
Пример:
ЭлементУправления=ЭлементыФормы.Добавить(Тип("ПолеВвода"),"КодГорода_"+ЭлементДанных["Телефон"],,ЭлементыФормы.);
ЭлементУправления.Лево=92;
ЭлементУправления.Верх=Положение;
ЭлементУправления.Высота=19;
ЭлементУправления.Ширина=40;
ЭлементУправления.ТипЗначения=ОписаниеТиповСтроки(5);
ЭлементУправления.УстановитьДействие("ОкончаниеВводаТекста",Новый Действие("..."));
ЭлементУправления.УстановитьДействие("ПриИзменении",Новый Действие("..."));
3 alex4x
 
10.03.06
16:19
А можно еще пример привязки, пожалуйта!
Например к правому верхнему краю не всей формы, а панели.
4 vasinok
 
10.03.06
16:31
(3)
ПолеРегистра.УстановитьПривязку(ГраницаЭлементаУправления.Верх,ЭлементыФормы.ОсновнаяПанель,ГраницаЭлементаУправления.Верх);
ПолеРегистра.УстановитьПривязку(ГраницаЭлементаУправления.Низ,ЭлементыФормы.ОсновнаяПанель,ГраницаЭлементаУправления.Низ);
ПолеРегистра.УстановитьПривязку(ГраницаЭлементаУправления.Право,ЭлементыФормы.ОсновнаяПанель,ГраницаЭлементаУправления.Право);
ПолеРегистра.УстановитьПривязку(ГраницаЭлементаУправления.Лево,ЭлементыФормы.ОсновнаяПанель,ГраницаЭлементаУправления.Лево);
5 alex4x
 
10.03.06
17:24
ТСтр=0;
Для каждого Строка из Таблица Цикл
ЭлементыФормы.Панель1.Страницы.Добавить ("Страница"+Строка.Страница,"Страница "+Строка.Страница,Строка,БиблиотекаКартинок.Excel);
//
ЭлементУправления=ЭлементыФормы.Добавить(Тип("ПолеВвода"),"Ввод_"+ТСтр,,<######>);
ТСтр=ТСтр+1;
КонецЦикла;

А как вот тут получить доступ к объекту Лист<N> Панели ?
6 vasinok
 
10.03.06
20:30
(5) ЛистПанели  = ЭлементыФормы.Панель1.Страницы.Добавить ("Страница"+Строка.Страница,"Страница "+Строка.Страница,Строка,БиблиотекаКартинок.Excel);
ЭлементыФормы.Панель1.ТекущаяСтраница = ЛистПанели;
или
ЭлементыФормы.Панель1.ТекущаяСтраница = ЭлементыФормы.Панель1.Страницы[Индекс];
7 smaharbA
 
10.03.06
20:32
ОФФ: Не интересно тут у вас в восьмерке, все уже за вас сделано...
8 alex4x
 
13.03.06
09:48
Вопрос в догонку. Я добавил программно Панель_1, Панель_2, Панель_3 ....
Как теперь к ним программно установить действие при смене страницы ?

ЭлементыФормы.Панель_1.УстановитьДействие("ПриСменеСтраницы",Новый Действие("Панель_ПР_ПриСменеСтраницы")); //не подходит, потому как панелей неизвестно сколько (они на страницах другой панели лежат)
9 vasinok
 
13.03.06
10:35
(8)
попробуйте так:
Сч = Сч + 1;
ИмяПанели = "Панель_" + Строка(Сч);
ЭлементыФормы[ИмяПанели].УстановитьДействие("ПриСменеСтраницы...