|
Программное добавление кнопок на управляемую форму | ☑ | ||
|---|---|---|---|---|
|
0
РЕК
24.02.11
✎
12:34
|
Всем, привет!
Люди, подскажите, плиз, как на управляемую форму(8.2) добавить кнопочки? программно. Вот ПриСозданииНаСервере()делаю так: Для н=0 по 10 Цикл Кнопка = Элементы.Добавить("Тест"+н,Тип("КнопкаФормы")); КонецЦикла; В переменную возвращает значение типа "КнопкаФормы", а вот на форме кнопочки не появляется. Подозреваю, что нужно что-то типа ЗначениеВРеквизитФормы(),тогда нужно форме добавить реквизиты, а я не знаю точное количество кнопок, которые буду добавлять, соответственно неизвестно и количество реквизитов. |
|||
|
1
Композитор
24.02.11
✎
12:38
|
Чисто методологический вопрос: зачем на форму добавлять программно кнопки? Или: в каких случаях рекомендуется программно добавлять кнопки на форму?
|
|||
|
2
Stimcool
24.02.11
✎
12:39
|
(1) например, в РМК в рознице. Если покупатель расплачивается картой, то добавляется кнопка "Оплата картой".
В форме есть одна эталонная кнопка, которая клонируется нужное число раз |
|||
|
3
РЕК
24.02.11
✎
12:42
|
(1)юзвери хотят красивостей. Хочу состав менюшки менять таким образом.
|
|||
|
4
Cube
24.02.11
✎
12:43
|
ТекущаяСтрока = СоздатьСтроку();
ИмяКнопки = "МояКнопка"; Элементы.Добавить(ИмяКнопки, Тип("КнопкаФормы"), ТекущаяСтрока); ТекущаяКнопка = Элементы[ИмяКнопки]; ТекущаяКнопка.Заголовок = Заголовок; ТекущаяКнопка.ИмяКоманды = "НажатиеНаКнопку"; |
|||
|
5
Композитор
24.02.11
✎
12:45
|
(2) а видимостью кнопок можно управлять? Терзают меня смутные сомнения, что программное добавление элементов формы как-то кривовато выглядит.
|
|||
|
6
РЕК
24.02.11
✎
12:49
|
(4)ничего не получилось, вернее результат тот же.
СоздатьСтроку() - что в этой функции должно быть? она где-то в модуле определена |
|||
|
7
РЕК
24.02.11
✎
12:50
|
(5)а если количества кнопок изначально не знаешь?
|
|||
|
8
РЕК
24.02.11
✎
12:52
|
(4)спасибо большое! Получилось!
|
|||
|
9
Cube
24.02.11
✎
12:52
|
(6) Ну ппц... Синтаксис-помощник-то покури на досуге... ТекущаяСтрока - это просто строка формы. У меня создается так:
&НаСервере Функция СоздатьСтроку() ИмяСтроки = "МояСтрока"; Элементы.Добавить(ИмяСтроки, Тип("ГруппаФормы")); ТекущаяСтрока = Элементы[ИмяСтроки]; ТекущаяСтрока.Вид = ВидГруппыФормы.ОбычнаяГруппа; ТекущаяСтрока.Отображение = ОтображениеОбычнойГруппы.Нет; ТекущаяСтрока.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная; ТекущаяСтрока.ОтображатьЗаголовок = Ложь; Возврат ТекущаяСтрока; КонецФункции //СоздатьСтроку() |
|||
|
10
Mitriy
24.02.11
✎
12:53
|
(5) нормально все выглядит, просто кнопка не будет видимой, если она ничего не делает...
ИмяКоманды = "Команда" + Формат(Сч, "ЧГ="); Команда = Команды.Добавить(ИмяКоманды); Команда.Действие = "КомандаНажатиеНаКнопку"; НовыйЭлемент = Элементы.Добавить(ИмяКоманды, Тип("КнопкаФормы"), Элементы.Кнопки); НовыйЭлемент.ИмяКоманды = ИмяКоманды; НовыйЭлемент.Заголовок = "ИмяКоманды"; (4) дарю бесплатно )) |
|||
|
11
Cube
24.02.11
✎
12:55
|
(10) Я ничего нового не узнал и давай уж флудить в одной ветке, в другие лезть не будем, ок?))
P.S. Иди примени к моей обработке, если сможешь :) |
|||
|
12
Mitriy
24.02.11
✎
12:58
|
(11) смогу, даже не сомневайся ))
|
|||
|
13
guitar_player
24.02.11
✎
13:01
|
Не понял зачем конкретно необходимо программное добавление, если форма не типовая и возможно ее изменение. Имхо функциональными опциями можно хорошо сделать.
|
|||
|
14
РЕК
24.02.11
✎
13:03
|
всем спасибо, все классно получилось!
|
|||
|
15
Mitriy
24.02.11
✎
13:04
|
(13) значит, тебе это не надо... когда понадобится, тогда такой вопрос не возникнет...
|
|||
|
16
Композитор
24.02.11
✎
13:09
|
(7) да, это тяжелый случай. Я могу представить ситуацию, когда заранее не знаешь количества колонок. Но с кнопками как-то тяжело у меня получается.
(10) Про "выглядит". Я пишу не о том, как это на форме выглядит, а про подход в целом. Возможно, пока еще мне не приспичило программно кнопки создавать. Я пытался придумать ситуацию, когда это необходимо. На примере программного добавления страниц на форме и всех соответствующих причиндалов к ним. В итоге обошелся без программирования. Жду, когда следующая оказия подвернется. |
|||
|
17
Композитор
24.02.11
✎
13:10
|
(15) вот, подтвердил мои мысли
|
|||
|
18
GenV
24.02.11
✎
13:22
|
(16) Пример: Фильтр по первым буквам наименования в списке.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |