|
Програмное создание кнопок на управляемой форме | ☑ | ||
---|---|---|---|---|
0
Numen
22.02.12
✎
10:13
|
Как создать програмно допустим поле 10х10 кнопок?
Это же замучаешься 100 кнопок создавать. И даже создав ручками копированием как потом если понадобится у всех имена поменять? Или подскажите элемент управление который можно приспособить под поле кнопок NxM |
|||
1
Kerk
22.02.12
✎
10:30
|
Морской бой?
|
|||
2
Numen
22.02.12
✎
10:30
|
второй раз уже создаю тему и молчок (
|
|||
3
Numen
22.02.12
✎
10:31
|
пусть будет морской бой)
|
|||
4
Asmody
22.02.12
✎
10:32
|
форма какая?
|
|||
5
Numen
22.02.12
✎
10:32
|
управляемая форма 8.2
|
|||
6
Numen
22.02.12
✎
10:32
|
обычная форма обработки допустим
|
|||
7
Asmody
22.02.12
✎
10:38
|
(5) у коллекции Элементы есть метод Добавить()
в твоем случае надо добавить группу с вертикальной группировкой и 10 групп с горизонтальной группировкой, а в каждую группу по 10 кнопок. Каждой кнопке назначить команду |
|||
8
Numen
22.02.12
✎
11:23
|
а если я не знаю столько групп у меня будет? создавать их сразу 100 штук и скрывать не используемые?
|
|||
9
Escander
22.02.12
✎
11:28
|
(8)не, визуализировать только те, которые нужны
|
|||
10
Asmody
22.02.12
✎
11:28
|
(8) программно создавай сколько надо
|
|||
11
Asmody
22.02.12
✎
11:30
|
дарю:
&НаСервере Процедура СоздатьПолеКнопок() ГруппаКнопок = Элементы.ГруппаКнопок; Для ии = 0 по 9 Цикл ИмяГруппы = "ГруппаКнопок"+ии; НоваяГруппа = Элементы.Добавить(ИмяГруппы, Тип("ГруппаФормы"), ГруппаКнопок); НоваяГруппа.Вид = ВидГруппыФормы.ОбычнаяГруппа; НоваяГруппа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная; НоваяГруппа.ОтображатьЗаголовок = Ложь; Для йй = 0 по 9 Цикл ИмяКнопки = "Кнопка"+(ии*10+йй); НоваяКнопка = Элементы.Добавить(ИмяКнопки, Тип("КнопкаФормы"), НоваяГруппа); НоваяКнопка.Вид = ВидКнопкиФормы.ОбычнаяКнопка; НоваяКнопка.Заголовок = Прав("0"+(ии*10+йй),2); НоваяКнопка.ИмяКоманды = "КомандаДляКнопок"; КонецЦикла; КонецЦикла; КонецПроцедуры &НаКлиенте Процедура СоздатьКнопки(Команда) СоздатьПолеКнопок(); КонецПроцедуры &НаКлиенте Процедура КомандаДляКнопок(Команда) Кнопка = ЭтаФорма.ТекущийЭлемент; Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Нажата "+Кнопка.Имя; Сообщение.Сообщить(); КонецПроцедуры |
|||
12
Asmody
22.02.12
✎
11:35
|
вот так оно выглядит http://dl.dropbox.com/u/341953/Снимок-2012-02-22%2011%3A31%3A47.png
|
|||
13
Numen
22.02.12
✎
13:25
|
Благодарствую!
Осталось понять почему можно использовать 10й шрифт в поле ввода при выстоте поля ввода 1, и 20й шрифт при высоте поля 2 А вот захочешь 16 шрифт и получишь или обрезание шрифта или пустое место под ним, потому как задать высоту поля 1,5 нельзя :( |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |