PDA

View Full Version : [VB6] Colorare le caselle da modulo


OrcaAssassina
11-12-2006, 14:55
Nella form utilizzo questo metodo per colorare le caselle quando solo in modalità scrittura

Private Sub Text1_GotFocus()
Text1.BackColor = &HC0FFFF
End Sub
Private Sub Text1_LostFocus()
Text1.BackColor = &HFFFFC0
End Sub

Se ho 50 caselle lo faccio per tutte:

Private Sub Text1_GotFocus()
Text1.BackColor = &HC0FFFF
End Sub
Private Sub Text1_LostFocus()
Text1.BackColor = &HFFFFC0
End Sub
Private Sub Text2_GotFocus()
Text2.BackColor = &HC0FFFF
End Sub
Private Sub Text2_LostFocus()
Text2.BackColor = &HFFFFC0
End Sub

cosi via dicendo, sia per la form stessa che in tutte le altre

C'è un metodo per crearlo in modo generico in un modulo e poi farlo eseguire automaticamente in modo che quando mi sposto mi esegue tale codice

Ciao e grazieeeeeeeee

Spike79
11-12-2006, 15:30
Beh, se hai 50 text box che fan la stessa cosa in una form, usa una collection di textbox (ossia ognuna avrà un INDEX che la identifica...ogni evento avrà anche lui questo index che permette di sapere quale oggetto ha causato l'evento).
Poi metti il codice in un modulo:

Public sub Colora_Text (casella as TextBox, colore as String)

casella.backcolor = colore

End Sub

e per chiamarla, nella form, nell'evento '_GotFocus' e '_LostFocus' metti il richiamo:

Colora_Text txt_miotext, vbRed