Выбрать поле ввода и установить курсор в крайнее правое положение
Добрый день! Помогите пожалуйста с решением такой задачки, необходимо выбрать поле ввода и поставить курсор в крайнее правое положение.
Выбрать поле ввода можно так:
Но так выделяется все поле ввода. А как поставить курсор справа?
1С:Предприятие 8.3 (8.3.11.3034)
Выбрать поле ввода можно так:
ЭтаФорма.ТекущийЭлемент = ЭтаФорма.Элементы.КоличествоКопий;
Но так выделяется все поле ввода. А как поставить курсор справа?
1С:Предприятие 8.3 (8.3.11.3034)
По теме из базы знаний
Найденные решения
(4) у нас не арабская вязь. У нас принято читать/писать слева направо. Крайнее правое положение это не 0,0.
ТекущийЭлемент = Элементы.КоличествоКопий;
ПозицияОкончания = СтрДлина(ТекущийЭлемент.ТекстРедактирования) +1;
ТекущийЭлемент.УстановитьГраницыВыделения(ПозицияОкончания, ПозицияОкончания);
Остальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(1)УстановитьГраницыВыделения (SetTextSelectionBounds)
Вариант синтаксиса: По позициям начала и конца выделения в тексте
Синтаксис:
УстановитьГраницыВыделения(<НачальнаяПозиция>, <КонечнаяПозиция>)
Параметры:
<НачальнаяПозиция> (обязательный)
Тип: Число.
Позиция начала выделения в тексте.
<КонечнаяПозиция> (обязательный)
Тип: Число.
Конечная позиция выделения в тексте.
Вариант синтаксиса: По позициям начала и конца выделения в тексте
Синтаксис:
УстановитьГраницыВыделения(<НачальнаяПозиция>, <КонечнаяПозиция>)
Параметры:
<НачальнаяПозиция> (обязательный)
Тип: Число.
Позиция начала выделения в тексте.
<КонечнаяПозиция> (обязательный)
Тип: Число.
Конечная позиция выделения в тексте.
Процедура Команда1(Команда)
ЭтаФорма.ТекущийЭлемент = ЭтаФорма.Элементы.КоличествоКопий;
ПозицияНачала = 0;
ПозицияОкончания = 0;
ЭтаФорма.ТекущийЭлемент.УстановитьГраницыВыделения(ПозицияОкончания);
КонецПроцедуры
Недостаточно фактических параметров. А как будет правильно?
(4) у нас не арабская вязь. У нас принято читать/писать слева направо. Крайнее правое положение это не 0,0.
ТекущийЭлемент = Элементы.КоличествоКопий;
ПозицияОкончания = СтрДлина(ТекущийЭлемент.ТекстРедактирования) +1;
ТекущийЭлемент.УстановитьГраницыВыделения(ПозицияОкончания, ПозицияОкончания);
(5)
Так курсор становится не в крайнее правое положение а на первый знак справа.
ТекущийЭлемент = Элементы.КоличествоКопий;
ПозицияОкончания = СтрДлина(ТекущийЭлемент.ТекстРедактирования) +1;
ТекущийЭлемент.УстановитьГраницыВыделения(ПозицияОкончания, ПозицияОкончания);
ПозицияОкончания = СтрДлина(ТекущийЭлемент.ТекстРедактирования) +1;
ТекущийЭлемент.УстановитьГраницыВыделения(ПозицияОкончания, ПозицияОкончания);
Так курсор становится не в крайнее правое положение а на первый знак справа.
Для многострочного поля ввода на УФ такой прием не сработал. В этом случае корректно отработало только через подключение обработчика ожидания:
&НаКлиенте
Процедура УстановитьТекущийЭлемент(Команда)
ТекущийЭлемент = Элементы.Комментарий;
ПодключитьОбработчикОжидания("УстановитьГраницыВыделенияКомментария", 0.1, Истина);
КонецПроцедуры
&НаКлиенте
Процедура УстановитьГраницыВыделенияКомментария()
ПозицияОкончания = СтрДлина(Элементы.Комментарий.ТекстРедактирования)+1;
Элементы.Комментарий.УстановитьГраницыВыделения(ПозицияОкончания, ПозицияОкончания);
КонецПроцедуры
Показать
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)