Bonjour,
Je travaille sur une application c# winform (framework 1.1) qui tourne dans une application vb6. Tout fonctionne correctement excepté la touche Tab & les tabindex: l'application ne réagit pas à la tabulation malgré que les tabIndex soient remplis correctement.
J'ai du développer un automate pour gérer la tabulation en positionnant automatiquement le focus en fonction d'une cartographie de l'application (xml).
Au début, je pensais piloter l'appel à l'automate en capturant la touche tab avec un wndProc. Je ne suis pas arrivé à le faire (je n'ai pas trouvé le code du tab; j'ai essayé 0x0009 mais sans succès). Du coup je me suis rabattu sur le KeyDown et cela fonctionne pour tout sauf pour les datagrids.
Lorsquune grid prend le focus, elle active automatiquement la première cellule en édition et par la suite, le keydown n'est pas catché et le comportement est étrange.
Jappuie sur la touche tab, cela ajoute une tabulation dans la cellule active au lieu de passer de case en case.
Ce problème est connu. On en trouve des références sur le net (http://www.dotnet247.com/247refere [...] 85644.aspx par exemple). J'ai donc essayé de mettre en place un hook comme conseillé mais sans grand résultat puisque le problème reste le même, comment déterminer qu'il s'agit d'un touche tab qui a été pressée au travers d'un Message.
Quelqu'un pourrait il me dire comment? Ou proposer une autre méthode pour gérer les tabIndex .net quand on est dans un messageLoop COM.
Fred
Message édité par fred_p le 13-07-2005 à 17:09:55