VB6 - Setfocus et Formes modales

Résolu
cs_Denis Messages postés 3 Date d'inscription lundi 18 février 2002 Statut Membre Dernière intervention 11 octobre 2008 - 11 oct. 2008 à 00:14
cs_Denis Messages postés 3 Date d'inscription lundi 18 février 2002 Statut Membre Dernière intervention 11 octobre 2008 - 11 oct. 2008 à 12:54
Bonjour,

Voilà : j'ai une appli qui doit afficher une feuille en mode modal à partir de différents endroits. Selon l'endroit d'où l'on clique, je voudrais que ce soit un contrôle différent qui ait le focus quand cette feuille modale s'affiche.
Seulement, lorsque la méthode "SetFocus" est invoquée dans l'évènement Load de la feuille modale, cela provoque une erreur. (normal, SetFocus ne s'applique qu'aux contrôles déjà affichée)
Je peux affecter la valeur 0 à la propriété TabIndex  du controle qui m'intéresse (il aura ainsi le focus à l'affichage), mais l'ordre des autres controles n'est plus cohérent pour la navigation par la touche Tab : l'ancien 0 devient le n° 1 alors qu'il faudrait que ce soit celui juste à côté du nouveau 0.
Je devrais donc renuméroter tous les TabIndex des contrôles, mais comment faire dans une boucle (sans nommer les controles un par un), sachant que les controles n'ont pas étés disposé dans l'ordre sur la feuille ? (et qu'il y en a beaucoup, et que ça peut changer)

En résumé, par ex  :
Controls(3).TabIndex 0   ---> devient --->  Controls(3).TabIndex 3Controls(1).TabIndex 1   ---> devient --->  Controls(1).TabIndex 4Controls(9).TabIndex 2   ---> devient --->  Controls(9).TabIndex 0Controls(2).TabIndex 3   ---> devient --->  Controls(2).TabIndex 1Controls(7).TabIndex 4   ---> devient --->  Controls(7).TabIndex 2

Si quelqu'un voit une solution pour ce problème de focus changeant...

Merci d'avance.

2 réponses

Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
11 oct. 2008 à 01:12
utilise l'EVT Activate plutot que Load de ta form. a cet endroit tous les controles existent
3
cs_Denis Messages postés 3 Date d'inscription lundi 18 février 2002 Statut Membre Dernière intervention 11 octobre 2008
11 oct. 2008 à 12:54
Merci beaucoup Kristof, c'est la bonne solution.
0
Rejoignez-nous