|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.08.2017, 14:24 | #1 |
Форумчанин
Регистрация: 21.01.2014
Сообщений: 389
|
Автоматическая прокрутка в memo
Привет.
Нужно реализовать сей механизм работы, но в процессе выяснилось, что изначально это не предусмотрено. Поэтому было решено реализовать прокрутку компонента мемо, так: Код:
Но дело в том, что не могу придумать, как вычислить число строк, которые уже были прокручены пользователем, чтобы, допустим, при открытии программы, вернуть его в эту позицию снова. Есть идеи?! |
19.08.2017, 19:07 | #2 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
memo.SelStart
|
19.08.2017, 21:29 | #3 |
Форумчанин
Регистрация: 21.01.2014
Сообщений: 389
|
Ваш вариант показывает позицию курсора в виде количества символов от начала, до самой позиции. Не совсем то, что нужно.
Код:
В идеале, хотелось бы получить число строк в мемо, которые уже были промотаны скроллбаром, но увы и ах. |
19.08.2017, 21:59 | #4 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Ну да, можно выделить 0 буков с позиции SelStart и тогда мемо прокрутится в нужное место, а при прокрутке сдвигать курсор на верхнюю строчку (позицию в этой строчке)
|
20.08.2017, 00:35 | #5 | |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 594
|
Узнать номер строки, где сейчас курсор:
LineNum := Memo1.Perform(EM_LINEFROMCHAR, -1, 0); Установить содержимое так, чтобы была видна эта строка: SendMessage(Memo1.Handle, EM_LINESCROLL, 0, Memo1.Lines.Count-1-LineNum); Второе мной не проверено. Цитата:
with Memo do SelStart := Perform(EM_LINEINDEX, LineNum, 0) + CharIndex(это при желании установить еще и на символ); Последний раз редактировалось kropotkina-alice; 20.08.2017 в 00:39. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Автоматическая прокрутка | ser70 | Общие вопросы C/C++ | 3 | 14.10.2014 22:32 |
Автоматическая прокрутка JQ карусели | supermike | JavaScript, Ajax | 5 | 18.09.2013 15:20 |
Прокрутка в Memo | Freestyler | Помощь студентам | 3 | 02.12.2008 21:19 |
Прокрутка в Memo | KlErik | Компоненты Delphi | 2 | 29.05.2007 22:00 |