| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > TMemo и #13+#10 |
| Автор: Ak47black 14.9.2007, 14:44 | ||
| Здравствуйте. Помоги понять как тут сделать. Юзаю обычный TMemo. И чтобы после добавления курсор находил не на новой строке делаю так
При частом вызове работает этот код очень медленно (понятно почему). Подскажите пожалуйста как оптимизировать, с учетом того что при добавлении компонент будет прокручиваться? |
| Автор: ALeXandrK 14.9.2007, 15:31 | ||||
| Воспользоваться свойством, кот. показывает кол-во сисмволов = номеру последнего символа. Сохранить это значение, затем сделать:
Затем вернуть курсор на сохраненную позицию.
Чтобы не прокручивалось, нужно покапаться в исходниках и перегрузить соответствующий метод. |
| Автор: Ak47black 14.9.2007, 15:42 | ||
ALeXandrK, не получается у меня с этим Append - результат тотже.
Не мне нужно чтобы при добавлении была прокрутка (тоесть автоматически прокручивалось). |
| Автор: ALeXandrK 14.9.2007, 16:08 | ||
| Так в чем проблема???!!! Просто пишешь:
Прокрутка происходит автоматически. |
| Автор: Ak47black 14.9.2007, 16:25 | ||
В том что при Append как и при Add курсор устанавливается на новую пустую строку. А мне нужно чтобы он оставался после добавленного текста. |
| Автор: ALeXandrK 14.9.2007, 16:30 | ||||
| Так я ж тебе написал сохраняй местоположение курсора перед добавлением, а после добавления, ставь его обратно. Вот пример:
Если после добавления Мемо теряет фокус, то не забудь добавить:
|
| Автор: Ak47black 14.9.2007, 16:38 |
| ALeXandrK, Но новая строка-же всеровно появляется, а мне нужно сделать чтобы её небыло. Добавлено @ 16:38 Твой код тока курсор передвигает. |
| Автор: ALeXandrK 14.9.2007, 16:49 | ||
| Так тебе нужно, чтобы текст добавлялся к последней строке? Или вставлялся туда, где сейчас курсор? Может тебе это подойдет:
|
| Автор: Ak47black 14.9.2007, 16:50 | ||
Тоесть переход перед добавлением, а не после. |
| Автор: ALeXandrK 14.9.2007, 16:52 | ||
Может это подойдет:
|
| Автор: Ak47black 14.9.2007, 17:00 | ||
Я так решил эту задачу.
|