Ordre des MDIChild

BarthOlivier Messages postés 132 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 27 novembre 2012 - 6 janv. 2009 à 11:56
BarthOlivier Messages postés 132 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 27 novembre 2012 - 8 janv. 2009 à 15:53
Bonjour j'ai une application en MDI dans laquelle j'ai 4 MDIChild. Lorsque je fais CTRL+TAB je me ballade de feuille en feuille en fonction de l'empilement.

Ma question : est-il possible de connaitre le TabIndex de la feuille Juste en dessous. Par exemple l'empilement des feuilles est "Fiche1","Fiche3","Fiche4","Fiche2". La "fiche2" a le focus. Normalement si je fait CTRL+TAB ce sera la fiche 4 qui aura le Focus. J'aimerai justement savoir, par code, que c'est cette feuille (la 4) qui est la prochaine.

Merci de votre Aide

MisterMok

3 réponses

cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
6 janv. 2009 à 14:00
Salut,

Voici deux fonctions que j'ai faite qui va te retourner le nom ou leTabIndex du contrôle qui aura le focus au prochain CTRL + TAB :

2 possibilités :


<hr size= "2" width="100%" />
1° Possibilité : Récupérer le nom du prochain contrôle qui aura le focus

<hr size="2" width="100%" />


Exemple : GetNameNextControlFocus(Fiche2) et la fonction va te retourner Fiche4





Function
GetNameNextControlFocus(ByVal ctrl As System.Windows.Forms.Control) As String
     Return Me.GetNextControl(ctrl, True).Name
End Function







<hr size ="2" width= "100%" />
2° Possibilité : Récupérer le TabIndex du prochain contrôle qui aura le focus

<hr size="2" width="100%" />


Exemple :

Si Fiche1 - TabIndex = 0
Si Fiche2 - TabIndex = 2
Si Fiche3 - TabIndex = 1
Si Fiche4 - TabIndex = 3



Get_TabIndex_Next_Control_Focus(Fiche1) et la fonction te retournera 1



Get_TabIndex_Next_Control_Focus(Fiche3) et la fonction te retournera 2



Get_TabIndex_Next_Control_Focus(Fiche2) et la fonction te retournera

3





Function
 Get_TabIndex_Next_Control_Focus(ByVal ctrl As System.Windows.Forms.Control) As Integer
     Return Me.GetNextControl(ctrl, True).TabIndex
End Function







<hr size ="2" width="100%" />
++

Fauve

<hr size="2" width="100%" />
Pensez : Réponse Acceptée 
0
BarthOlivier Messages postés 132 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 27 novembre 2012 1
6 janv. 2009 à 17:01
Merci mais ca ne marche pas, Voici ma fonction :

    For Each ChildForm As FrmGraph In Me.MdiChildren
      MaxIndex += 1      If ChildForm.NumFiche MDIFocus Then IndexActu ChildForm.TabIndex
      strMessages = strMessages & ChildForm.TabIndex & "  "
      If ChildForm.NumFiche = MDIFocus Then
        strTemp = Me.GetNextControl(ChildForm, True).Name()
      End If
    Next
    Me.Text = strTemp

la variable MDIFocus  est une variable globale que j'inialise en fonction de la page qui a le focus. dans mon cas MDIFocus =2

dans l'ordre d'empilement, j'ai la fiche "2" qui est tout en haut, ensuite la "4" puis la "1" puis la "3"
Si j'applique cette methode avec le GetNextControl, strTemp = FrmGraph3 et non pas FrmGraph4 comme j'aimerai avoir (puisque c'est elle qui est juste en dessous de la Fiche2(FrmGraph2)

MisterMok
0
BarthOlivier Messages postés 132 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 27 novembre 2012 1
8 janv. 2009 à 15:53
Petit Up !

Pas d'idée pour me résoudre mon problème ?

MisterMok
0
Rejoignez-nous