Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1366 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [résolu]tabulation dans une appli hosté par du win32

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[résolu]tabulation dans une appli hosté par du win32

n°1144526
fred_p
Posté le 08-07-2005 à 16:32:16  profilanswer
 

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.
Lorsqu’une 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.
 J’appuie 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
mood
Publicité
Posté le 08-07-2005 à 16:32:16  profilanswer
 

n°1144561
Sihriel
デリダで皺消
Posté le 08-07-2005 à 17:01:43  profilanswer
 

As-tu essayé de faire tourner ton automate dans une autre thread ?
D'après ton lien, visiblement le tab n'est pas hookable dans le main thread si il y a des controls sur ta form (le code est bien 9 en passant).

n°1144599
fred_p
Posté le 08-07-2005 à 17:32:57  profilanswer
 

J'ai peur que passer l'automate dans un autre thread fasse des problèmes. De mémoire, les threads sont transverses à tous appDomains et je ne voulais pas prendre le risque d'avoir des effets de bord entre les differentes instances de l'application (je suis en train de vérifier en mm temps et je ne trouve aucune trace de cette assertion dc j'ai du l'imaginer). C'est pour cela que j'ai d'abord essaye de coller le WndProc sur le datagrid et ensuite le hook sur la form. Je vais tenter de ce pas de lancer le bouzin dans un autre thread.

n°1149312
fred_p
Posté le 13-07-2005 à 17:11:07  profilanswer
 

bon, en fait passer en thread ne sert à rien: la méthode proposée dans l'url précédente suffit largement. Mon automate mettait la grouille.  
Désolé pour le dérangement :p


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [résolu]tabulation dans une appli hosté par du win32

 

Sujets relatifs
Réorganisation de mon site [RESOLU]requete sql avec jointure en vba [RESOLU]
probleme avec une liste déroulante...[resolu][HTML/CSS]alignement texte différents das une même cellule[résolu]
Appel état ACCESS dans une page ASP [Résolu][ VB .net ] Listview "invisible" [résolu]
declarer un hachage a deux entrees [Resolu]Probleme de mapping memoire[résolu]
Debutant cherche help!! redirection[resolu thx gatsusat]formulaire => name [RESOLU]
Plus de sujets relatifs à : [résolu]tabulation dans une appli hosté par du win32


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR