benji
-
5 mai 2001 à 19:21
Cybiot
Messages postés10Date d'inscriptionmardi 19 novembre 2002StatutMembreDernière intervention25 avril 2006
-
9 févr. 2004 à 14:35
dans mon prog(vb6 sr4) j'ai 4 form avec une trentaine de texbox chacune.
je voudrais passer d' une textbox à une autre en utilisant
la touche ENTREE du pavé numérique au lieu de TAB.
Comment dois-je procéder?
Merçi
cs_numberone
Messages postés13Date d'inscriptionvendredi 7 février 2003StatutMembreDernière intervention30 juin 2006 11 avril 2003 à 14:00
ok mais comment on fait si on veux appuyer sur la touche de code asccii = 8 (DEL) pour retourner en arrière ?
g essayer de remplacer dans ton code, 13 par 8 mai ca na pa marcher !
Merci de votre réponse !
Cybiot
Messages postés10Date d'inscriptionmardi 19 novembre 2002StatutMembreDernière intervention25 avril 2006 9 févr. 2004 à 14:30
je sais que ma réponse arrive tard, mais je pense qu'elle sera interessante pour beaucoup :
' solution classique :
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
SetFocusOnNextTabIndex Text1
KeyAscii = 0
End If
End Sub
Public Sub SetFocusOnNextTabIndex(CurCtrl As Object)
'Force le passage au contrôle suivant
'par rapport au contrôle CurCtrl et selon l'ordre des "TabIndex"
Dim NextTabindex As Long, NextObject As Object
On Error Resume Next
NextTabindex = CurCtrl.Parent.Controls(CurCtrl.Name).TabIndex + 1
For Each NextObject In CurCtrl.Parent.Controls
If Err.Number <> 0 Then Exit For
If NextObject.TabIndex = NextTabindex Then
NextObject.SetFocus
Exit For
End If
Next
On Error GoTo 0
End Sub
' variante dans SetFocusOnNextTabIndex si l'on veux traiter la même chose dans un OCX :
NextTabindex = UserControl.Parent.Controls(UserControl.Ambient.DisplayName).TabIndex + 1
On Error Resume Next
For Each NextObject In UserControl.Parent.Controls
If Err.Number <> 0 Then Exit For
If NextObject.TabIndex = NextTabindex Then
NextObject.SetFocus
Exit For
End If
Next
If Compil Then On Error GoTo CompilError Else On Error GoTo 0
Cybiot
Messages postés10Date d'inscriptionmardi 19 novembre 2002StatutMembreDernière intervention25 avril 2006 9 févr. 2004 à 14:34
'Une solution tardive mais interessante
'version classique :
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
SetFocusOnNextTabIndex Text1
KeyAscii = 0
End If
End Sub
Public Sub SetFocusOnNextTabIndex(CurCtrl As Object)
'Force le passage au contrôle suivant
'par rapport au contrôle CurCtrl et selon l'ordre des "TabIndex"
Dim NextTabindex As Long, NextObject As Object
On Error Resume Next
NextTabindex = CurCtrl.Parent.Controls(CurCtrl.Name).TabIndex + 1
For Each NextObject In CurCtrl.Parent.Controls
If Err.Number <> 0 Then Exit For
If NextObject.TabIndex = NextTabindex Then
NextObject.SetFocus
Exit For
End If
Next
On Error GoTo 0
End Sub
' Variante de code pour faire ma mêce chose dans un OCX
Public Sub SetFocusOnNextTabIndex()
'Force le passage au contrôle suivant
'par rapport au contrôle OCX et selon l'ordre des "TabIndex"
Dim NextTabindex As Long, NextObject As Object
NextTabindex = UserControl.Parent.Controls(UserControl.Ambient.DisplayName).TabIndex + 1
On Error Resume Next
For Each NextObject In UserControl.Parent.Controls
If Err.Number <> 0 Then Exit For
If NextObject.TabIndex = NextTabindex Then
NextObject.SetFocus
Exit For
End If
Next
On Error GoTo 0
End Sub
Cybiot
Vous n’avez pas trouvé la réponse que vous recherchez ?
Cybiot
Messages postés10Date d'inscriptionmardi 19 novembre 2002StatutMembreDernière intervention25 avril 2006 9 févr. 2004 à 14:35
'Une solution tardive mais interessante
'version classique :
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
SetFocusOnNextTabIndex Text1
KeyAscii = 0
End If
End Sub
Public Sub SetFocusOnNextTabIndex(CurCtrl As Object)
'Force le passage au contrôle suivant
'par rapport au contrôle CurCtrl et selon l'ordre des "TabIndex"
Dim NextTabindex As Long, NextObject As Object
On Error Resume Next
NextTabindex = CurCtrl.Parent.Controls(CurCtrl.Name).TabIndex + 1
For Each NextObject In CurCtrl.Parent.Controls
If Err.Number <> 0 Then Exit For
If NextObject.TabIndex = NextTabindex Then
NextObject.SetFocus
Exit For
End If
Next
On Error GoTo 0
End Sub
' Variante de code pour faire ma même chose dans un OCX
Public Sub SetFocusOnNextTabIndex()
'Force le passage au contrôle suivant
'par rapport au contrôle OCX et selon l'ordre des "TabIndex"
Dim NextTabindex As Long, NextObject As Object
NextTabindex = UserControl.Parent.Controls(UserControl.Ambient.DisplayName).TabIndex + 1
On Error Resume Next
For Each NextObject In UserControl.Parent.Controls
If Err.Number <> 0 Then Exit For
If NextObject.TabIndex = NextTabindex Then
NextObject.SetFocus
Exit For
End If
Next
On Error GoTo 0