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

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

Гладкое скроллирование текста [D5, WinME]


MARcoDEN ©   (2002-08-08 08:39:00) 

Мастера, выручайте! Как можно сделать гладкое скроллирование текста (допустим, в Memo или ListBox"e - неважно) наподобие титров в фильме? Пробовал посылать сообщения

for i:=0 to Memo1.Lines.Count-1 do
begin
Memo1.Perform(EM_LINEINDEX, i, 0);
Memo1.Perform(EM_SCROLLCARET, 0, 0);
end;


Но это не то, что надо :(. Нужно не переход на следующую строку, а именно ГЛАДКОЕ ВЫПОЛЗАНИЕтекста, например, сверху или снизу. Буду очень благодарен всем, кто мне ответит!


MARcoDEN   (2002-08-09 08:08:00) [1]

Спасибо, буду пробовать!


MBo   (2002-08-08 09:50:00) [2]

вот принцип, можно доработать

procedure TForm1.Timer1Timer(Sender: TObject);
var r:trect;
begin
r:=memo1.clientrect;
inc(i);
inflaterect(r,0,i);
memo1.Lines.BeginUpdate;
memo1.perform(em_setrectnp,0,Integer(@r));
memo1.Lines.endUpdate;
end;


MBo   (2002-08-08 09:08:00) [3]

в стандартных текстовых окнах windows скроллинг только построчный. Можешь рисовать текст сам Textout или Drawtext


Наверх

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