Имя: Пароль:
1C
1С v8
Активное поле на форме
, ,
0 ender10
 
05.02.19
08:51
Добрый день, есть следующая задача
на форме есть несколько полей для ввода текста, туда будут вводить всякие спецсимволы(градус, надстрочные и т.д)
хотел сделать на форме панель с этими символами для удобства редактирования, проблема в том, чтобы понять в какое поле добавлять символ, т.к при нажатии на кнопку текущий элемент формы эта кнопка
вопрос - есть ли варианты отслеживать активные поля формы?
1 palsergeich
 
05.02.19
09:14
В обработчиках можно понять какое именно поле сейчас было нажато, если вы про это.
В отладке разверни параметр элемент, или поле( если он есть)
2 ender10
 
05.02.19
09:18
(1) не очень понял
суть в следующем - активно какое-то поле
нажимают кнопку на форме, в этот момент текущий элемент формы - эта кнопка, а вот в каком поле был курсор непонятно
3 Evgenchik
 
05.02.19
09:22
А до нажатия кнопки сохранить активное поле? При активизации поля ввода сохранять текущее активное в переменную
4 ender10
 
05.02.19
09:23
(3) вот нет события активизации поля
или я не туда смотрю
5 George Wheels
 
05.02.19
09:25
(4) ПриНачалеРедактирования
6 ender10
 
05.02.19
09:28
(5) УФ - текствое поле на форме, список событий:
ПриИзменении, ДиапазонИзмеренийНачалоВыбора, НачалоВыбораИзСписка, Очистка, Регулирование, Открытие, Создание, ОбработкаВыбора, ИзменениеТекстаРедактирования, АвтоПодбор, ОкончаниеВводаТекста

ПриНачалеРедактирования не вижу
7 George Wheels
 
05.02.19
09:32
(6) Не туда глянул. (это моя функция)
Событие формы ОбработкаПерехода.
8 Evgenchik
 
05.02.19
09:34
ОбработкаАктивизации(<АктивныйОбъект>, <Источник>)
9 ender10
 
05.02.19
09:42
(7) (8) ни то ни другое не срабатывает
10 Evgenchik
 
05.02.19
10:10
Оставь одно поле ввода, тогда всегда будешь знать куда подставлять символы
11 ender10
 
05.02.19
10:12
(10) хороший вариант, но полей нужно несколько
12 ender10
 
05.02.19
10:23
вычитал в СП про событие автоподбор такое "Также возникает при активизации поля ввода, для которого выключен быстрый выбор, мышью."

но тоже не помогло))
13 Evgenchik
 
05.02.19
10:26
можно попробовать перетаскивать символ в поле. Но событие перетаскивания у строки нет.
Операции перетаскивания поддерживают следующие элементы управления:

     табличное поле;
     поле табличного документа;
     поле календаря;
     поле картинки.
14 ender10
 
05.02.19
10:35
(13) через обработчик ожидания еще хочу попробовать
15 Evgenchik
 
05.02.19
10:43
16 Evgenchik
 
05.02.19
10:43
https://clip2net.com/s/3ZBFA75

так получается переносить, но вопрос насколько удобно будет.

Напиши, что получится с обработчиком ожидания
17 ender10
 
05.02.19
10:52
(16) с обработчиком получилось, только есть нюанс
я подключаю его с периодом 0.1, платформа дает с таким периодом однократное выполнение, поэтому внутри вызываемой процедуры подключаю обработчик заново
и еще есть проблема - символы добавляются внутрь текста и положение курсора сбрасывается, метод УстановитьГраницыВыделения не отрабатывает, т.к не сразу видит изменение текста в поле, его также вызываю через обработчик ожидания для восстановления положения курсора
18 FIXXXL
 
05.02.19
11:51
(0) большой список спецсимволов? может на хоткеи их развесить?
19 FIXXXL
 
05.02.19
11:52
(18) + тогда, находясь в текущем поле, можно посмотреть ТекущийЭлемент() формы
20 ender10
 
05.02.19
12:13
(19) список пока непонятен, может и не хватить хоткеев
они по сути доступны через alt+... но фиг запомнишь и набирать много
как вариант можно справку конечно написать - куда жать для какого символа, но сейчас вроде работает с обработчиком ожидания