AO TABULAR, DEIXAR TEXTBOX SELECIONADA...
Galera,
Tenho um project que percorre diversas textbox num form, seja para inserir novos dados, como para alterar dados existentes.A cada evento [ô]GotFocus[ô] de cada textbox, coloco a instrução [ô]SendKeys [Ô]{home}+{end}[ô], para facilitar a edição do que está registrado. Assim, o usuário pode digitar em cima do dado registrado, para substituir valores, por exemplo, sem ter de apagá-los antes.
Contudo, são diversas textbox no form.
Existe alguma rotina genérica que faça com que todas as textbox sejam selecionadas, após tabular por elas, como, por ex., a rotina que desabilita as textbox abaixo? AÃ, é só por a rotina numa função e em cada evento [ô]GotFocus[ô] chamar a função...
<Função Seleciona>
Dim F
For F = 0 to Me.Count -1
If TypeOf Me.Controls(F) is TextBox then
Me.Controls(F).Enabled = False
End If
Next F
GotFocus da TextBox: Call Seleciona
Tenho um project que percorre diversas textbox num form, seja para inserir novos dados, como para alterar dados existentes.A cada evento [ô]GotFocus[ô] de cada textbox, coloco a instrução [ô]SendKeys [Ô]{home}+{end}[ô], para facilitar a edição do que está registrado. Assim, o usuário pode digitar em cima do dado registrado, para substituir valores, por exemplo, sem ter de apagá-los antes.
Contudo, são diversas textbox no form.
Existe alguma rotina genérica que faça com que todas as textbox sejam selecionadas, após tabular por elas, como, por ex., a rotina que desabilita as textbox abaixo? AÃ, é só por a rotina numa função e em cada evento [ô]GotFocus[ô] chamar a função...
<Função Seleciona>
Dim F
For F = 0 to Me.Count -1
If TypeOf Me.Controls(F) is TextBox then
Me.Controls(F).Enabled = False
End If
Next F
GotFocus da TextBox: Call Seleciona
seria isso
Function Seleciona()
Dim txtName As String
Dim txt As TextBox
Dim ctl As Control
If TypeOf Me.ActiveControl Is TextBox Then txtName = Me.ActiveControl.Name
For Each ctl In Me
If txtName = ctl.Name Then
SendKeys [Ô]{home}+{end}[Ô]
End If
Next
End Function
Private Sub Text1_GotFocus()
Seleciona
End Sub
Não se entendi direito, mas
Private Sub text1_GotFocus()
On Error Resume Next
Screen.ActiveControl.SelStart = 0: Screen.ActiveControl.SelLength = Len(Screen.ActiveControl.Text)
End Sub
Mas a melhor forma mesmo seria
você criar um textbox com a propriedade index=0, copiare este e colar no form
assim você criaria uma array, precisando apenas de um unico código que seria este
preste bem atenção não seria necessário um evento para cada text, e sim somente um, que é este ai de cima.
veja um exemplo em anexo
você criar um textbox com a propriedade index=0, copiare este e colar no form
assim você criaria uma array, precisando apenas de um unico código que seria este
Private Sub txtCampo_GotFocus(Index As Integer)
SendKeys [Ô]{home}+{end}[Ô]
End Sub
preste bem atenção não seria necessário um evento para cada text, e sim somente um, que é este ai de cima.
veja um exemplo em anexo
Valeu galera. Vou testar as dicas no meu project.
[ô]brigadão.
[ô]brigadão.
Private Sub txtCampo_GotFocus(Index As Integer)
With txtCampo(Index)
.SelStart = 0
.SelLength = Len(.Text)
End With
End Sub
Tópico encerrado , respostas não são mais permitidas