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

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

Программно скроллировать текуст в tmemo [D6, WinXP]


karlsn ©   (2004-06-09 10:46:00) 

Подскажите, мне надо реализовать подсказку, я хочу что бы текст скролиировался в мемо1 медленно.
вот процедура которой я пользуюсь
procedure scroll;
Var
 ScrollMessage:TWMVScroll;
 i:integer;
begin
 ScrollMessage.Msg:=WM_VScroll;
 for i := 1 DownTo 0 do
 begin
   ScrollMessage.ScrollCode:=sb_LineDown;
   ScrollMessage.Pos:=ScrollMessage.Pos+350;
   Memo1.Dispatch(ScrollMessage);
 end;
\
Но когда двигаешь мышью по форме, то двмжение начинает ускоряться. Как от этого избавиться?
Или можно реализовать это с помощью другого кода?


karlsn   (2004-06-10 17:04:00) [1]

может есть другие способы прокрутки?


KilkennyCat   (2004-06-10 02:15:00) [2]

ИМХО, необходимо блокировать-разблокировать update, и лучше сделать в отдельном потоке. чтобы передача фокусов, перерисовка и прочее не влияла на скорость отработки требуемого.

и вот здесь все верно?

> for i := 1 DownTo 0 do

сколько раз отрабатывает этот цикл? :)


karlsn   (2004-06-09 19:59:00) [3]


> отключай влияние мыши на компоненту

как это? поподробнее... кстати когда водишь по экрану ничего а когда по форме то ускоряется...


[BAD]Angel   (2004-06-09 16:43:00) [4]

отключай влияние мыши на компоненту


karlsn   (2004-06-09 16:40:00) [5]


> Почемы бы не использовать EM_LINESCROLL ?

Я пробовал, но минимум прокручивать можно на одну строку и плавности неполучается, кажется будто он едет урывками, но проблема с мышкой решается.... нет надо другой способ.


VAleksey   (2004-06-09 11:04:00) [6]

Почемы бы не использовать EM_LINESCROLL ?


Наверх

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