Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Es posible referenciar un textbox en una función?

Estas en el tema de Es posible referenciar un textbox en una función? en el foro de Visual Basic clásico en Foros del Web. Hola Foro. Tengo una función donde aplico cambio en el estilo de un textbox. Entonces en cada TextBox del Form llamo a esta función pasando ...
  #1 (permalink)  
Antiguo 27/05/2010, 07:52
 
Fecha de Ingreso: enero-2007
Mensajes: 348
Antigüedad: 17 años, 3 meses
Puntos: 1
Es posible referenciar un textbox en una función?

Hola Foro.

Tengo una función donde aplico cambio en el estilo de un textbox.

Entonces en cada TextBox del Form llamo a esta función pasando como parámetro (entre otros) el nombre del textbox.

La pregunta es si es posible que en lugar de pasar el nombre del control pasar algo generico (como ser la referencia al control activo) para hacer mas generica la llamada a la funcion:

Ej,

En lugar de hacer:

mifuncion (text1.name as textbox, valor as string)

hacer:

mifuncion (me.controlactivo, valor as string)

Tener en cuenta que esta funcion la llamo en el vento got_focus de cada textbox, por lo que siempre se cual es el textbox actual.

Muchas Gracias!
  #2 (permalink)  
Antiguo 27/05/2010, 08:54
 
Fecha de Ingreso: agosto-2005
Ubicación: Cienfuegos, Cuba
Mensajes: 15
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Es posible referenciar un textbox en una función?

Pues claro, lo unico que en la función el Primer Párámetro debes declararlo del Tipo Object
  #3 (permalink)  
Antiguo 27/05/2010, 10:53
 
Fecha de Ingreso: enero-2007
Mensajes: 348
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: Es posible referenciar un textbox en una función?

ElierLora, gracias por responder.

El tema es como hago para genericamente indicar el nombre del control?

Osea,

Si estoy parado en text2

Como puedo llamar a la función diciendo:

me.textactivo (donde textactivo sería el nombre del textbox activo).

Me explico?

Muchas Gracias.
  #4 (permalink)  
Antiguo 28/05/2010, 11:14
 
Fecha de Ingreso: agosto-2005
Ubicación: Cienfuegos, Cuba
Mensajes: 15
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Es posible referenciar un textbox en una función?

Ejemplo

Private sub Llenar(ObjCombo as Objet) as Loquesea
'Llenar un Combo
ObjCombo.AddItem "Lo que Sea"

End Sub

Ahora Mandamos el nombre del Combo desde cualquier Lugar
Teniendo un Combo1 sería de la manera Siguiente:


Llenar Combo1
  #5 (permalink)  
Antiguo 29/05/2010, 14:02
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 6 meses
Puntos: 19
Respuesta: Es posible referenciar un textbox en una función?

Código vb:
Ver original
  1. Me.ActiveControl

con eso obtenes el control activo

Entonces simplemente haces

Código vb:
Ver original
  1. Private Sub Text1_GotFocus()
  2.     Call evento(Me.ActiveControl)
  3. End Sub

Y tu evento seria algo como
Código vb:
Ver original
  1. Public Sub evento(eltextbox As TextBox)
  2.     'Lo que quieras hacer
  3. End Sub
  #6 (permalink)  
Antiguo 30/05/2010, 08:01
 
Fecha de Ingreso: enero-2007
Mensajes: 348
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: Es posible referenciar un textbox en una función?

Haber,

Volvamos al tema de que yo me referia a textbox.

Supon un formulario con 20 textbox.

Yo tengo que llamar a la funcion de esta manera:

mifuncion (text1)

mifuncion (text2)

etc

Lo que busco es poder llamar a la funcion de esta manera:

mifuncion (textboxactivo)

y en la funcion poder saber a que textbox me refiero.

osea, trato de llamar siempre igual a la funcion.

Me explico?
  #7 (permalink)  
Antiguo 30/05/2010, 08:55
 
Fecha de Ingreso: enero-2007
Mensajes: 348
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: Es posible referenciar un textbox en una función?

Culd exacto!

Muchas Gracias!!!

Etiquetas: posible, textbox
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:06.