[ matobj @ 02.04.2008. 19:48 ] @
pozdrav,

kako da napravim autoscroll teksta u npr. memo polju.

Dakle imam nekakav tekst od 100 linija i zelim da se on sam vertikalno skrola i da sve to izvrti u npr. 25 sec.

uff kak ne znam objasnit :)
[ nikomak @ 02.04.2008. 20:13 ] @
Nesto kao CREDITS scroller, zar ne ?

Evo ovde koda http://jvcl.svn.sourceforge.ne...n/JvScrollText.pas?view=markup
Ili instaliraj JEDI Vcl, pa koristi JvScrollText komponentu, a ima i mali milion drugih :)
[ matobj @ 02.04.2008. 21:13 ] @
Ma svaka cast majstore :)
1000 x thx
[ Miroslav Ćurčić @ 02.04.2008. 21:16 ] @
Staviš tScrollBox na formu.
Unutar nje tMemo kome postaviš Height na koliko treba, može statično a možeš i da izračunaš (broj redova puta visina fonta).
Staviš tTimer na formu i u OnTimer staviš da se povećava osobina Position od tScrollBox-a. Valjda se zove Position ako nisam omašio.
[ matobj @ 03.04.2008. 06:08 ] @
OK super :)

E kako sad izracunat da mi tih 100 linija traje recimo 2:13 min :( ?, ali da mi to skroz odskrola ?

[ dogriz @ 03.04.2008. 06:20 ] @
Pa ti promeni, ne mora to da bude 100 linija, neka bude npr. onoliko koliko je sekundi: 2:13 min -> 133 linije, a Timer neka bude na 1000 ms
[ X Files @ 03.04.2008. 08:13 ] @
Citat:
mVeliki: Staviš tScrollBox na formu.
Unutar nje tMemo kome postaviš Height na koliko treba, može statično a možeš i da izračunaš (broj redova puta visina fonta).
Staviš tTimer na formu i u OnTimer staviš da se povećava osobina Position od tScrollBox-a. Valjda se zove Position ako nisam omašio.

Ranije sam malo proucavao koji je najbrzi (i za sporije masine) i 'najglatkiji' skrol koji pruza VCL "out of box", bez raznih trikova, tehnika i 3rd party komponenti. Dosao sam do zakljucka da je pomeranje TScrollBox-a (bez obzira na sadrzaj koji je unutra) najbrze.

Sto se tice Position osobine, ako se ne varam, ona ima jednu manu (barem kod C++ Buildera). Kada se disable-uju horizontalni i vertikalni barovi (da bi skrol licio na nesto) onda Position nije radio!

Srecom metoda TScrollBox::ScrollBy() je radila.

Ovo bi bio neki test primer sa TLabel objektom unutar TScrollBox-a. Kod je u C++, ali kako je cist VCL u pitanju, dovoljno je jasan:
Code:

for ( int i=0; i<=Label1->Width; i++ ) 

   Caption = i; 
   Sleep( 10 ); 
   ScrollBox1->ScrollBy( -1,0 ); 
   ScrollBox1->Update(); 
}