VBA – Obeležavanje pomoću trepćuće label-e

Često je korisnicima potrebno privući pažnju na određeni deo formulara, kada unose podatke ili kada naprave grešku. Zašto na neki način ne bi ukazali korisniku da je napravio pogrešan unos u određenom polju, tako što će naslov pored tog polja početi da blinkuje tj. da label-i dodelimo flash efekat? Da bi ovo uradili iskoristićemo Timer događaj.

Na primer, polje i naziv – label-u, nazvanu „lblCena“ u koju korisnik recimo unosi cenu. Mi ćemo kroz programski kod reagovati, ako je korisnik npr. uneo negativnu vrednost cene i startovaćemo blink-ovanje. Na taj način obavestićemo korisnika da nešto nije u redu, i usput ćemo mu odmah naznačiti i gde je, na formi, načinio grešku. Sledeći kod ćemo svestiti u događaj Timer (pre toga postavite na formu Timer kontrolu):


Private Sub Form_Timer()
With Me.lblCena
.ForeColor = (IIf(.ForeColor = vbRed, vbBlack, vbRed))
End With
End Sub

Nakon ovogkoda potrebno je samo da u glavnu formu ubacimo okidač – trigger, koji će pokrenuti flash efekt. Postavite sledeći programski kod u događaj „OnLostFocus“ i to polja koje objašnjava sama label-a (polje cene, kao na slici):


Private Sub txtCena_LostFocus()
If Me!Form.[Cena] < 0 Then
Me.TimerInterval = 300
Else
Me.TimerInterval = 0
Me.lblCena.ForeColor = vbBlack
End If
End Sub

Pratite Krstaricu na www.krstarica.com