Вверх ↑
Ответов: 2236
Рейтинг: 676
#1: 2016-08-11 12:00:31 ЛС | профиль | цитата
nesco,тут все дело в фокусе.
RAWY_EX, спасибо.

Сравните работу двух примеров:
1. Пример: code_37626.txt
2. Пример: code_37627.txt
По ним видно что в первом примере ScrollBar отдает ненужный фокус. Поэтому как мне кажется и не может отобразится каретка. Нет реакции на "тыкание" в Edit, система видет что элемент в фокусе и не обновляет каретку.

А вот и пример это доказывающий: code_37628.txt
Убираем фокус у Edit-a и сразуже возвращаем и все работает.
Получается ScrollBar (и прочие элементы выдающие событие из onMessage) после отправки сообщения (в нашем случае OnPosition) делают еще и SetFocus. А так как Edit уже сделан нами невидимым, этот ненужный фокус и путает систему с отображением каретки.

Вот даже в таком: code_37629.txtпримере нажмите после пропажи каретки два раза кнопку Tab (заберите и верните фокус Edit-у) и каретка сново тут-как тут.

Так что нужно найти где в коде происходит лишний SetFocus.

карма: 11

0