Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2008, 22:16   #1
Freestyler
 
Регистрация: 01.12.2008
Сообщений: 9
По умолчанию Прокрутка в Memo

Прошу помочь, искал в поиске, среди исходников, вообще по интернету - не нашёл ничего толкового.
Я вывожу текст в поле Мемо. Когда он скрывается внизу, активируется ScrollBar, но сам не прокручивается! Т.е. новый текст остаётся внизу и пользователю приходится прокручивать самому вручную. Т.к. такие сообщения будут выводиться довольно часто, это будет более чем неудобно. К тому же он (пользователь) не может ничего писать в поле Мемо.
Надеюсь, я более-менее понятно объяснил проблему. Существует ли вообще её решение, и, если да, то какое?
Freestyler вне форума Ответить с цитированием
Старый 01.12.2008, 22:32   #2
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Цитата:
Сообщение от Freestyler Посмотреть сообщение
Прошу помочь, искал в поиске, среди исходников, вообще по интернету - не нашёл ничего толкового.
Я вывожу текст в поле Мемо. Когда он скрывается внизу, активируется ScrollBar, но сам не прокручивается! Т.е. новый текст остаётся внизу и пользователю приходится прокручивать самому вручную. Т.к. такие сообщения будут выводиться довольно часто, это будет более чем неудобно. К тому же он (пользователь) не может ничего писать в поле Мемо.
Надеюсь, я более-менее понятно объяснил проблему. Существует ли вообще её решение, и, если да, то какое?
Попробуйте такой способ:
Код:
Procedure TForm1.Memo1Change(Sender: TObject);
Begin
Memo1.Perform(EM_LINESCROLL,0,Memo1.Lines.Count-1);
End;
Или такой:
Этот пример прокручивает на одну строку вниз.
Код:
Memo1.Perform(WM_VScroll, SB_LINEDOWN,0); 
Возможны так же следующие опции: 
SB_BOTTOM 
SB_ENDSCROLL 
SB_LINEDOWN 
SB_LINEUP 
SB_PAGEDOWN 
SB_PAGEUP 
SB_THUMBPOSITION 
SB_THUMBTRACK 
SB_TOP
TComboBox, TListBox, TRichEdit и т.п можно прокрутить подобным образом
Всегда рад помочь!

Последний раз редактировалось Terran; 01.12.2008 в 22:38.
Terran вне форума Ответить с цитированием
Старый 01.12.2008, 22:38   #3
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Сделал банальное добавление по таймеру для проверки

Memo1.Lines.Add('memo1');

Всё работает, курсор постоянно в мемо стоит в начале новой строки и Скролл движется сам...
Вложения
Тип файла: rar memo.rar (148.2 Кб, 51 просмотров)
Arkuz вне форума Ответить с цитированием
Старый 02.12.2008, 21:19   #4
Freestyler
 
Регистрация: 01.12.2008
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Arkuz Посмотреть сообщение
Memo1.Lines.Add('memo1');
Огромное спасибо, Arkuz, естественно, всё сработало. Просто я добавлял текст благодаря "Memo1.Text", а решение было так очевидно.
Freestyler вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод из Memo по английскому в Memo по русскому Sanek777 Общие вопросы Delphi 5 26.09.2008 00:17
Авто-Прокрутка в Memo eks-s Общие вопросы Delphi 2 18.04.2008 01:52
Синхронная прокрутка двух Memo Dimmitt Компоненты Delphi 1 21.10.2007 17:57
В Memo сделать так, чтобы текст был разного цвета, разноцветный memo Artem Компоненты Delphi 3 07.09.2007 13:40
Прокрутка в Memo KlErik Компоненты Delphi 2 29.05.2007 22:00