Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как осуществить прокрутку текста в RichEdit давно голову ломаю.. [D5, Win95/98, Win2k]


lun ©   (2002-02-12 01:36:00) 

Нужно осуществить прокрутку текста при появлении новой строки,
а то строку невидно приходиться ручками крутить..
Конечно не ручками кручу но всё таки геморойно,
делаю фокус на Richedit ,добавляю строку, далее возвращаю фокус
где он был.. вот..
пишу чат для локалки...
Подскажите...


Андрей Татуков   (2002-04-04 14:11:00) [1]

А я делаю так :

p:=0;
RichEdit1.SelStart:=p; // на Первую строку !
RichEdit1.SelLength:=0;
for i:=0 to RichEdit1.Lines.Count-1 do
begin
...обрабатываем строки...
p:=p+1+Length(RichEdit1.Lines.Strings[i]);
RichEdit1.SelStart:=p;
RichEdit1.SelLength:=0;
end;


Севостьянов Игорь   (2002-04-03 12:05:00) [2]

Ну не знаю как для TRichEdit, но для ListView использовал...

lv.Perform(WM_VSCROLL, SB_BOTTOM, 0);
или можно так
SendMessage(lv.Hanlde, WM_VSCROLL, SB_BOTTOM, 0)
возможно и для TRichEdit подойдет


SB_BOTTOM- Scrolls to the lower right.
SB_ENDSCROLL- Ends scroll.
SB_LINEDOWN- Scrolls one line down.
SB_LINEUP- Scrolls one line up.
SB_PAGEDOWN- Scrolls one page down.
SB_PAGEUP- Scrolls one page up.
SB_THUMBPOSITION- The user has dragged the scroll box (thumb) and released the mouse button. The high-order word indicates the position of the scroll box at the end of the drag operation.
SB_THUMBTRACK- The user is dragging the scroll box. This message is sent repeatedly until the user releases the mouse button. The high-order word indicates the position that the scroll box has been dragged to.
SB_TOP- Scrolls to the upper left.


Song   (2002-04-03 08:33:00) [3]

PostMessage - это процедура посылки сообщения приложению. Не такое сообщение, которое Вам в аське приходит, а специальное. Вся работа в win построена на этих сообщениях.
RichEdit1.Handle - это дескриптор (уникальное целое число). Дискриптор даётся для любого окна и одназначно идентифицирует это окно в системе.
Для скроллирования пошлите сообщение EM_SCROLL.
Какие параметры читайте по нему хэлп. Как посылать читайте любое из этого:
SendMessage
PostMessage
Perform


DiM@G   (2002-04-02 23:07:00) [4]

Такая же проблема...
Как скроллить?... (тоже чат :)

Пишу PostMessage(RichEdit1.Handle,...);
Но какие надо задавать параметры?

Что вообще такое PostMessage и что делает RichEdit.Handle?

Новичок в Дельфи...
Заранее спасибо


lun   (2002-02-13 00:54:00) [5]

Огромное спасибо!


Fellomena   (2002-02-12 15:51:00) [6]

Так же можно после добавления посылать RichEdit-у сообщение о прокрутки.
PostMessage(Form1.RichEdit1.Handle, ...);


Mbo   (2002-02-12 06:48:00) [7]

http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1013415781&n=0


Наверх

Титульная страница Поиск, карта сайта Написать письмо