Имя: Пароль:
1C
1С v8
Прокрутка формы без изменения текущего элемента
0 xavchik
 
27.08.19
20:30
Всем привет.
Делаю чат. Все как обычно: сверху сообщения, снизу поле для составления исходящего сообщения и кнопка "Отправить".

Если пользователь пишет сообщение и в этот момент ему приходит новое входящее, то оно добавляется на страницу сверху. Страница с прокруткой. Надо сделать эту прокрутку, чтобы сообщение стало видно сразу. Если делать через ТекущийЭлемент = ..., то страница прокручивается, но фокус с поля ввода нового сообщения уходит. Что плохо...

Как можно программно прокрутить элемент управления с прокруткой или настроить его, чтобы он всегда показывал послежние элементы?
1 ДенисЧ
 
27.08.19
21:03
А вернуть фокус на поле ввода - Мелькор запрещает?
2 xavchik
 
28.08.19
14:45
(1) Никто не запрещает. Сделать можно, но не работает. Получение новых сообщений происходит через ПодключитьОбработчикОжидания. Если в рамках одного вызова я устанавливаю ТекущийЭлемент на последнее сообщение, а потом в том же вызове устанавливаю обратно, то ничего не происходит. Прокрутка на последнее сообщение не выполняется. Надо делать в двух разных вызовах, а это уже криво
3 xavchik
 
29.08.19
11:16
Есть еще идеи?
4 Ёпрст
 
гуру
29.08.19
11:18
(2) ну из первого обработчика запускай второй, который установит фокус, второй после установки фокуса тормози
5 xavchik
 
29.08.19
12:03
(1) (2) В общем, передача фокуса с последнего сообщения и обратно на поле ввода нового сообщения работает нормально. В (2) написал неправду - просто была ошибка в коде.

Всем спасибо!
2 + 2 = 3.9999999999999999999999999999999...