Clase para cambiar el backcolor de un textbox
Publicado por Jorge (56 intervenciones) el 26/11/2010 18:02:12
Hola, estaba probado una clase para que cada vez que me posisione en un textbox, el backcolor cambie y cuando ya no este en foco vuelva a su color original,
Con un solo textbox me funciona, peeeero cuando el textbox es parte de una matriz de controles, ya no se puede :(
Como debo hacerlo?, repito con un textbox que no es parte de una matriz funciona el codigo pero con matriz ya no, como debo declararlo???
gracias
'*************************************************************
'*************************************************************
Clase para textbox: CLTextVisual
'*************************************************************
Private WithEvents Mi_Text As TextBox
Public Sub Iniciar(El_TextBox As TextBox)
Set Mi_Text = El_TextBox
Mi_Text.BackColor = &HE0E0E0
End Sub
Private Sub Mi_Text_GotFocus()
Mi_Text.BackColor = &HFFFFFF
End Sub
Private Sub Mi_Text_LostFocus()
Mi_Text.BackColor = &HE0E0E0
End Sub
'*************************************************************
'*************************************************************
en el formulario tengo dos texbox como matriz, text1(0) y text1(1)
'*************************************************************
Option Explicit
' Variable para la clase
Dim Objtxt As CLTextVisual
Private Sub Form_Load()
'Nueva instancia
Set Objtxt = New CLTextVisual
'asigno el text1(0) para que haga lo de la clase
' si fuese solo text1 sin que pertenezca a una matriz funciona
Objtxt.Iniciar Text1(0)
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set Objtxt = Nothing
End Sub
'*************************************************************
'*************************************************************
' LUEGO SALE ESTE ERROR! :(((((
Error 469 en tiempo de ejecucion:
El objeto o la clase no admite el conjunto de eventos
===>Depurar en (CLTextVisual):
Public Sub Iniciar(El_TextBox As TextBox)
Set Un_Text = El_TextBox <============ AQUI
...
Con un solo textbox me funciona, peeeero cuando el textbox es parte de una matriz de controles, ya no se puede :(
Como debo hacerlo?, repito con un textbox que no es parte de una matriz funciona el codigo pero con matriz ya no, como debo declararlo???
gracias
'*************************************************************
'*************************************************************
Clase para textbox: CLTextVisual
'*************************************************************
Private WithEvents Mi_Text As TextBox
Public Sub Iniciar(El_TextBox As TextBox)
Set Mi_Text = El_TextBox
Mi_Text.BackColor = &HE0E0E0
End Sub
Private Sub Mi_Text_GotFocus()
Mi_Text.BackColor = &HFFFFFF
End Sub
Private Sub Mi_Text_LostFocus()
Mi_Text.BackColor = &HE0E0E0
End Sub
'*************************************************************
'*************************************************************
en el formulario tengo dos texbox como matriz, text1(0) y text1(1)
'*************************************************************
Option Explicit
' Variable para la clase
Dim Objtxt As CLTextVisual
Private Sub Form_Load()
'Nueva instancia
Set Objtxt = New CLTextVisual
'asigno el text1(0) para que haga lo de la clase
' si fuese solo text1 sin que pertenezca a una matriz funciona
Objtxt.Iniciar Text1(0)
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set Objtxt = Nothing
End Sub
'*************************************************************
'*************************************************************
' LUEGO SALE ESTE ERROR! :(((((
Error 469 en tiempo de ejecucion:
El objeto o la clase no admite el conjunto de eventos
===>Depurar en (CLTextVisual):
Public Sub Iniciar(El_TextBox As TextBox)
Set Un_Text = El_TextBox <============ AQUI
...
Valora esta pregunta


0