![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Здравствуйте.
Помоги понять как тут сделать. Юзаю обычный TMemo. И чтобы после добавления курсор находил не на новой строке делаю так
При частом вызове работает этот код очень медленно (понятно почему). Подскажите пожалуйста как оптимизировать, с учетом того что при добавлении компонент будет прокручиваться? |
|||
|
||||
| ALeXandrK |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 342 Регистрация: 31.1.2007 Где: Санкт-Петербург Репутация: 3 Всего: 6 |
Воспользоваться свойством, кот. показывает кол-во сисмволов = номеру последнего символа.
Сохранить это значение, затем сделать:
Затем вернуть курсор на сохраненную позицию.
Чтобы не прокручивалось, нужно покапаться в исходниках и перегрузить соответствующий метод. Это сообщение отредактировал(а) ALeXandrK - 14.9.2007, 16:14 -------------------- Богат не/ни тот, у кого много, а тот, кому хватает |
||||
|
|||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
ALeXandrK, не получается у меня с этим Append - результат тотже.
Не мне нужно чтобы при добавлении была прокрутка (тоесть автоматически прокручивалось). Это сообщение отредактировал(а) Ak47black - 14.9.2007, 15:54 |
|||
|
||||
| ALeXandrK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 342 Регистрация: 31.1.2007 Где: Санкт-Петербург Репутация: 3 Всего: 6 |
Так в чем проблема???!!!
Просто пишешь:
Прокрутка происходит автоматически. Это сообщение отредактировал(а) ALeXandrK - 14.9.2007, 16:16 -------------------- Богат не/ни тот, у кого много, а тот, кому хватает |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
В том что при Append как и при Add курсор устанавливается на новую пустую строку. А мне нужно чтобы он оставался после добавленного текста. |
|||
|
||||
| ALeXandrK |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 342 Регистрация: 31.1.2007 Где: Санкт-Петербург Репутация: 3 Всего: 6 |
Так я ж тебе написал сохраняй местоположение курсора перед добавлением, а после добавления, ставь его обратно.
Вот пример:
Если после добавления Мемо теряет фокус, то не забудь добавить:
Это сообщение отредактировал(а) ALeXandrK - 14.9.2007, 16:32 -------------------- Богат не/ни тот, у кого много, а тот, кому хватает |
||||
|
|||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
ALeXandrK, Но новая строка-же всеровно появляется, а мне нужно сделать чтобы её небыло.
Добавлено @ 16:38 Твой код тока курсор передвигает. Это сообщение отредактировал(а) Ak47black - 14.9.2007, 16:44 |
|||
|
||||
| ALeXandrK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 342 Регистрация: 31.1.2007 Где: Санкт-Петербург Репутация: 3 Всего: 6 |
Так тебе нужно, чтобы текст добавлялся к последней строке? Или вставлялся туда, где сейчас курсор?
Может тебе это подойдет:
Это сообщение отредактировал(а) ALeXandrK - 14.9.2007, 16:51 -------------------- Богат не/ни тот, у кого много, а тот, кому хватает |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Тоесть переход перед добавлением, а не после. |
|||
|
||||
| ALeXandrK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 342 Регистрация: 31.1.2007 Где: Санкт-Петербург Репутация: 3 Всего: 6 |
Может это подойдет:
Это сообщение отредактировал(а) ALeXandrK - 14.9.2007, 16:53 -------------------- Богат не/ни тот, у кого много, а тот, кому хватает |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Я так решил эту задачу.
Это сообщение отредактировал(а) Ak47black - 14.9.2007, 17:02 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |