Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/03/2008, 03:08
Avellaneda
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: Como saber en que control estoy?

Si los TextBox están en un array de controles, no deberías tener ningún problema llamando a la función así:

SelecTexto Text1(Index)

Si no es así, tendrías que craerte una clase que haga eso. p.ej.

En un módulo de clase (Class1.cls)

Código:
Option Explicit

Private WithEvents MiText As TextBox

Public Property Set FormatTxt(SetTextBox As TextBox)
Set MiText = SetTextBox
End Property

Private Sub MiText_GotFocus()
MiText.SelStart = 0
MiText.SelLength = Len(MiText.Text)
End Sub
En el formulario donde se encuentran los TextBox:

Código:
Option Explicit
Private cTextBox As Collection

Private Sub Form_Load()
Dim cClass As Class1, oControl As Control
    
Set cTextBox = New Collection
For Each oControl In Me.Controls
    If TypeOf oControl Is TextBox Then
        Set cClass = New Class1
        Set cClass.FormatTxt = oControl
        cTextBox.Add cClass
    End If
Next
Set cClass = Nothing
Set oControl = Nothing
End Sub
Nota: Siempre que haya mas de un control del mismo tipo en un formulario, es mas práctico crear un array de controles. Tendrás que escribir menos código y ganarás en recursos.