Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Програмное создание кнопок на управляемой форме

Програмное создание кнопок на управляемой форме
Я
   Numen
 
22.02.12 - 10:13
Как создать програмно допустим поле 10х10 кнопок?
Это же замучаешься 100 кнопок создавать. И даже создав ручками копированием как потом если понадобится у всех имена поменять?

Или подскажите элемент управление который можно приспособить под поле кнопок NxM
 
 
   Kerk
 
1 - 22.02.12 - 10:30
Морской бой?
   Numen
 
2 - 22.02.12 - 10:30
второй раз уже создаю тему и молчок (
   Numen
 
3 - 22.02.12 - 10:31
пусть будет морской бой)
   Asmody
 
4 - 22.02.12 - 10:32
форма какая?
   Numen
 
5 - 22.02.12 - 10:32
управляемая форма 8.2
   Numen
 
6 - 22.02.12 - 10:32
обычная форма обработки допустим
   Asmody
 
7 - 22.02.12 - 10:38
(5) у коллекции Элементы есть метод Добавить()
в твоем случае надо добавить группу с вертикальной группировкой и 10 групп с горизонтальной группировкой, а в каждую группу по 10 кнопок. Каждой кнопке назначить команду
   Numen
 
8 - 22.02.12 - 11:23
а если я не знаю столько групп у меня будет? создавать их сразу 100 штук и скрывать не используемые?
   Escander
 
9 - 22.02.12 - 11:28
(8)не, визуализировать только те, которые нужны
   Asmody
 
10 - 22.02.12 - 11:28
(8) программно создавай сколько надо
   Asmody
 
11 - 22.02.12 - 11:30
дарю:

&НаСервере
Процедура СоздатьПолеКнопок()
    ГруппаКнопок = Элементы.ГруппаКнопок;
    Для ии = 0 по 9 Цикл
        ИмяГруппы = "ГруппаКнопок"+ии;
        НоваяГруппа = Элементы.Добавить(ИмяГруппы, Тип("ГруппаФормы"), ГруппаКнопок);
        НоваяГруппа.Вид = ВидГруппыФормы.ОбычнаяГруппа;
        НоваяГруппа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная;
        НоваяГруппа.ОтображатьЗаголовок = Ложь;
        
        Для йй = 0 по 9 Цикл 
            ИмяКнопки = "Кнопка"+(ии*10+йй);
            НоваяКнопка = Элементы.Добавить(ИмяКнопки, Тип("КнопкаФормы"), НоваяГруппа);
            НоваяКнопка.Вид = ВидКнопкиФормы.ОбычнаяКнопка;
            НоваяКнопка.Заголовок = Прав("0"+(ии*10+йй),2);
            НоваяКнопка.ИмяКоманды = "КомандаДляКнопок";
        КонецЦикла;
    КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура СоздатьКнопки(Команда)
    СоздатьПолеКнопок();
КонецПроцедуры

&НаКлиенте
Процедура КомандаДляКнопок(Команда)
    Кнопка = ЭтаФорма.ТекущийЭлемент;
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = "Нажата "+Кнопка.Имя;
    Сообщение.Сообщить();
КонецПроцедуры
   Asmody
 
12 - 22.02.12 - 11:35
   Numen
 
13 - 22.02.12 - 13:25
Благодарствую!
Осталось понять почему можно использовать 10й шрифт в поле ввода при выстоте поля ввода 1, и 20й шрифт при высоте поля 2

А вот захочешь 16 шрифт и получишь или обрезание шрифта или пустое место под ним, потому как задать высоту поля 1,5 нельзя :(

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.