Delphi – Statusna linija

Svaka složenija aplikacija bi trebalo da poseduje statusnu liniju (Status bar) na kojoj će se prikazivati informacije korisniku. I Delphi poseduje komponentu StatusBar na „Win32“ VCL paleti alatki, sa kojom je kreiranje naših satusnih linija vrlo lako. Predstavićemo i neke bitne osobine koje ima ova kontrola:

  • Panels – ovom osobinom postavljamo više panoa na jednu statusnu liniju.
  • SimplePanel – podešavanje da li će se prikazati jedan pano ili višestruki panoi.
  • AutoHint – ovom osobinom omogućavamo da se automatski na statusnoj liniji prikazuje tekst iz osobine Hint, komponenti iznad kojih pređete mišem.
  • SizeGrip – postavljanje da li će se "držač" za promenu veličine forme videti u statusnoj liniji.

U slučaju da imamo jednostavniju statusnu liniju, sastojaće se samo od jednog panoa. U suprotnom osobinu „SimplePanel“ postavićemo na „False“, da bi dobili kompleksniji-višestruku panel. Kada ovo postavite kliknite dvostruko na kolonu „Value“ u osobini „Panels“, da bi dobili „StatusBar Panels Editor“. Dodavanje panoa ide preko dugmeta „Add New“ u novom dijalog prozoru. Kada postavite svoje panoe, možete im menjati osobine, ako kliknete na njih pa pređete u prozor „Object Inspector“-a. Da bi u toku rada aplikacije izmenjivali tekst koji se javlja u određenom panou, koristićete osobinu „Text“. Kada završite dodavanje svih panoa u statusnu liniju, vratite se na formu.
U statusnoj liniji tekst se može menjati na dva načina:

  • Ako postavite "AutoHint" na "True", tekst će se menjati automatski prelaskom miša iznad određene komponente.
  • Ili, možete ručno, tj. programski menjati tekst preko osobine "SimpleText" kod jednostrukog panoa ili preko osobine "Text" kod višestrukih panoa.

Evo i primera izmene teksta u jednostavnoj statusnoj liniji:

    StatusBar.SimpleText := 'Ovaj tekst ce se prikazati u statusnoj 
liniji' ;

Kod složenih statusnih linija, promene ćemo vršiti preko osobine „Items“ komponente Panels, tj. preko ove osobine ćemo pristupati određenom panelu.

    StatusBar.Panels[0].Text := 'Ovaj tekst ce se prikazati u 
panou statusne linije' ;

Kao što se može i pretpostaviti prethodnalinija koda postavlja tekst u statusnu liniju i to u prvi panel po redu (indeks 0).

Pratite Krstaricu na www.krstarica.com