как программно перейти в конец вводимой строки в поле ввода? #722267


#0 by kiwi
В форме (обычной) есть поле ввода, в которое после неких манипуляций пользователя программа переходит по Этаформа.ТекущийЭлемент = ... Соответственно, значение в этом поле становится выделенным. Можно как-то сделать, чтобы курсор перешел в конец значения этого поля, т.е. как если бы пользователь нажал кнопку End? Заранее спасибо.
#1 by Ник второй
нажми эту кнопку "end" программно
#2 by kiwi
если с помощью vbscript, то не очень хотелось бы. Или есть вариант сделать это с помощью самой 1С?
#3 by DmitrO
УстановитьГраницыВыделения
#4 by kiwi
...в общем, так и не осилил (
#5 by kiwi
По крайней мере, на однострочное текстовое поле ввода никакого воздействия УстановитьГраницыВыделения не оказывает. Мож руки - того...
#6 by mrDSide
Использование: Чтение и запись. Описание: Тип: Строка. Содержит выделенный пользователем текст поля ввода на момент чтения свойства. При записи в свойство нового текста этот текст заменяет текст, выделенный в настоящий момент. При этом выделение сбрасывается. Доступность: Толстый клиент. Примечание: При использовании свойства для замены выделенного текста следует иметь в виду следующие особенности: Если в поле ввода не выделен текст, то записанный текст добавляется начиная с текущей позиции курсора. <b>После добавления текущее положение курсора меняется (перемещается в конец вставленного текста).<> Если поле ввода имеет ограниченную длину, то вставляется столько символов, сколько позволяет размер. Если тип данных, редактируемый в поле ввода Дата или используется маска, то вставляются только те символы, которые разрешены для данного поля ввода.
#7 by palpetrovich
имеется ввиду как-то так:
#8 by HEKPOH
ЭлементыФормы.ПолеВвода.ВыделенныйТекст = ЭлементыФормы.ПолеВвода.Значение;
#9 by HEKPOH
в правильный ответ, а в - код
#10 by Евгений Терехов
Внимательно читайте СП! Если например в строке "Строка" выделено "Стр" и иснользовать код из , тогда получите "Строкаока"
#11 by Евгений Терехов
*использовать
#12 by palpetrovich
+100500
#13 by HEKPOH
читайте постановку задачи. цитирую "Соответственно, значение в этом поле становится выделенным. Можно как-то сделать, чтобы курсор перешел в конец значения этого поля, т.е. как если бы пользователь нажал кнопку End? "
#14 by HEKPOH
+ при данной постановке решение в правильное
#15 by Евгений Терехов
УстановитьГраницыВыделения - правильный совет: а точнее КонецСтроки = СтрДлина(ЭлементыФормы.ПолеВвода.Значение); ЭлементыФормы.ПолеВвода.УстановитьГраницыВыделения(КонецСтроки, КонецСтроки);
#16 by HEKPOH
не взлетит
#17 by Евгений Терехов
Вот попробуйте свой код и увидите что получится.
#18 by HEKPOH
я попробовал и "ВыделенныйТекст" (работает), и УстановитьГраницыВыделения (не работает)
#19 by palpetrovich
что, код в не работает? ...у меня работает! только пробельчик добавлять приходится, дабы не на последнем символе курсор был
#20 by HEKPOH
"пробельчик" - это замечательно :) для кода из никаких пробелов добавлять не нужно
#21 by palpetrovich
да, я не заметил "Соответственно, значение в этом поле становится выделенным" - в этом случае - катит
#22 by HEKPOH
мир, дружба, жвачка! :)
#23 by palpetrovich
а то :)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С