Tehnika Krstarice > Programiranje > Delphi - Skrolovanje teksta u naslovnoj liniji

Delphi - Skrolovanje teksta u naslovnoj liniji

25.11.2000.

Ovaj prilog će vam prikazati vrlo jednostavan i moćan "trik", kako da neka vaša poruka (recimo reklamnog tipa) scroll (skroluje-klizi) po naslovnoj liniji prozora aplikacije. Ovo skrolovanje je vrlo slično tekstu koji skroluje u Taskbar liniji ili recimo kao u WinAmp prozoru, kada naslov pesme koja se reprodukuje skroluje.

Ono što ćemo prvo odrediti su dve globalne varijable:

var
    ScrollPozicija: integer = 0;
    ScrollTekst : string = 'Ovo je tekst koji skroluje...';

Prva varijabla (ScrollPozicija) je tipa integer i ona će sadržati vrednost trenutne pozicije skrolujućeg teksta, a druga (ScrollTekst) predstavlja tekst koji će da "klizi" po naslovnoj liniji. Startovaćemo skrolovanje teksta sa istim brojem karaktera (praznih mesta), koliko želimo da se odjednom prikaže određeni tekst. Potom skrolovanje počinje sa desne strane i ide ka levoj. Sledeća procedura koristi komponentu "Timer" da bi se izvršilo pomeranje teksta udesno. Zato smo iskoristili događaj komponente "OnTimer":

procedure TForm1.Timer1Timer(Sender: TObject);
const
  // Prostor koji odvajamo za prikaz teksta
  SCROLL_PROSTOR = 10;
begin
  // Deo teksta koji se prikazuje
  Form1.Caption := Copy(ScrollTekst, ScrollPozicija, SCROLL_PROSTOR);

  // Povećanje skrol pozicije za jedan karakter
  Inc(ScrollPozicija);

  // Vršimo resetovanje pozicije kada 
  // skrolujući tekst dođe do kraja
  if ScrollPozicija >= Length(ScrollTekst) then
   ScrollPozicija := 0;
end;

Sam programski kod govori o čemu se radi, zajedno sa ubačenim komentarima. Konstanta "SCROLL_PROSTOR" određuje koliko će karaktera od ukupnog teksta biti prikazano odjednom. Isti ovaj kod možete koristiti i za druge komponente, recimo "TEdit". Jednostavno zamenite Form1.Caption sa TEdit.Text. Zanimljivo je da, ako u ovaj kod ubacite "Application.Title", tekst će skrolovati u ikoni-dugmetu na samom Taskbar-u.

Preporučite ovaj članak

Članak još uvek nije ocenjen.