|
как программно перейти в конец вводимой строки в поле ввода? | ☑ | ||
---|---|---|---|---|
0
kiwi
07.10.14
✎
16:57
|
В форме (обычной) есть поле ввода, в которое после неких манипуляций пользователя программа переходит по Этаформа.ТекущийЭлемент = ... Соответственно, значение в этом поле становится выделенным. Можно как-то сделать, чтобы курсор перешел в конец значения этого поля, т.е. как если бы пользователь нажал кнопку End?
Заранее спасибо. |
|||
1
Ник второй
07.10.14
✎
16:59
|
нажми эту кнопку "end" программно
|
|||
2
kiwi
07.10.14
✎
17:07
|
(1) если с помощью vbscript, то не очень хотелось бы. Или есть вариант сделать это с помощью самой 1С?
|
|||
3
DmitrO
07.10.14
✎
17:11
|
УстановитьГраницыВыделения
|
|||
4
kiwi
07.10.14
✎
17:50
|
...в общем, так и не осилил (
|
|||
5
kiwi
07.10.14
✎
17:59
|
По крайней мере, на однострочное текстовое поле ввода никакого воздействия УстановитьГраницыВыделения не оказывает. Мож руки - того...
|
|||
6
mrDSide
07.10.14
✎
18:07
|
ВыделенныйТекст (SelectedText)
Использование: Чтение и запись. Описание: Тип: Строка. Содержит выделенный пользователем текст поля ввода на момент чтения свойства. При записи в свойство нового текста этот текст заменяет текст, выделенный в настоящий момент. При этом выделение сбрасывается. Доступность: Толстый клиент. Примечание: При использовании свойства для замены выделенного текста следует иметь в виду следующие особенности: Если в поле ввода не выделен текст, то записанный текст добавляется начиная с текущей позиции курсора. <b>После добавления текущее положение курсора меняется (перемещается в конец вставленного текста).<\b> Если поле ввода имеет ограниченную длину, то вставляется столько символов, сколько позволяет размер. Если тип данных, редактируемый в поле ввода Дата или используется маска, то вставляются только те символы, которые разрешены для данного поля ввода. |
|||
7
palpetrovich
07.10.14
✎
18:24
|
(4) имеется ввиду как-то так:
ПолеВвода1 = ПолеВвода1 + " "; Длина = СтрДлина(ПолеВвода1); ЭлементыФормы.ПолеВвода1.УстановитьГраницыВыделения(Длина, Длина); |
|||
8
HEKPOH
07.10.14
✎
18:26
|
ЭлементыФормы.ПолеВвода.ВыделенныйТекст = ЭлементыФормы.ПолеВвода.Значение;
|
|||
9
HEKPOH
07.10.14
✎
18:27
|
в (6) правильный ответ, а в (8) - код
|
|||
10
Евгений Терехов
07.10.14
✎
18:28
|
(6) (8) Внимательно читайте СП!
Если например в строке "Строка" выделено "Стр" и иснользовать код из (8), тогда получите "Строкаока" |
|||
11
Евгений Терехов
07.10.14
✎
18:29
|
(10) *использовать
|
|||
12
palpetrovich
07.10.14
✎
18:29
|
(10) +100500
|
|||
13
HEKPOH
07.10.14
✎
18:30
|
(10) читайте постановку задачи. цитирую "Соответственно, значение в этом поле становится выделенным. Можно как-то сделать, чтобы курсор перешел в конец значения этого поля, т.е. как если бы пользователь нажал кнопку End? "
|
|||
14
HEKPOH
07.10.14
✎
18:30
|
+(13) при данной постановке решение в (8) правильное
|
|||
15
Евгений Терехов
07.10.14
✎
18:31
|
УстановитьГраницыВыделения() - правильный совет: а точнее КонецСтроки = СтрДлина(ЭлементыФормы.ПолеВвода.Значение);
ЭлементыФормы.ПолеВвода.УстановитьГраницыВыделения(КонецСтроки, КонецСтроки); |
|||
16
HEKPOH
07.10.14
✎
18:31
|
(15) не взлетит
|
|||
17
Евгений Терехов
07.10.14
✎
18:31
|
(13) (14) Вот попробуйте свой код и увидите что получится.
|
|||
18
HEKPOH
07.10.14
✎
18:32
|
(17) я попробовал и "ВыделенныйТекст" (работает), и УстановитьГраницыВыделения (не работает)
|
|||
19
palpetrovich
07.10.14
✎
18:35
|
(18) что, код в (7) не работает? ...у меня работает! только пробельчик добавлять приходится, дабы не на последнем символе курсор был
|
|||
20
HEKPOH
07.10.14
✎
18:37
|
(19) "пробельчик" - это замечательно :)
для кода из (8) никаких пробелов добавлять не нужно |
|||
21
palpetrovich
07.10.14
✎
18:38
|
(20) да, я не заметил "Соответственно, значение в этом поле становится выделенным" - в этом случае (8) - катит
|
|||
22
HEKPOH
07.10.14
✎
18:39
|
(21) мир, дружба, жвачка! :)
|
|||
23
palpetrovich
07.10.14
✎
18:41
|
(22) а то :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |