Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : changement de focus avec fleche clavier [ Divers / General ] (andalo)

jeudi 12 juin 2008 à 17:33:37 | changement de focus avec fleche clavier

andalo

Bonjour a tous,
Apres recherche sur le web, je n'ai trouvé que des devellopeurs dans la meme situation sans solution!
j'ai un controle qui perd le focus quand j'utilise les fleches haut, bas, gauche, ou droite. C'est problematique car j'ai besoin de le faire reagir a ces touches claviers. Du coup je ne passe plus dans mon evenement keydown de mon controleY a t'il moyen de desactiver cette perte de focus??

jeudi 12 juin 2008 à 18:26:14 | Re : changement de focus avec fleche clavier

jack

Administrateur CodeS-SourceS
Salut
Pas assez clair.
"J'ai un control" : quel type ?
"qui perd le focus" : Oui, c'est normal.
J'ai fait l'essai avec deux CommandButton : les flèches font passer d'un bouton à l'autre.
"j'ai besoin de le faire reagir" : "le" = qui ?

Donc, ta question est "comment détecter les flèches quand aucun control de saisie n'a le focus"
En effet, c'est un problème car le KeyPreview de la forme ne fonctionne pas puisque c'est Windows qui intercepte cet évènement pour gérer l'affichage.
2 solutions :
- Donner le focus à une TextBox (installé en dehors de l'affichage de la forme) par exemple avant de taper les flèches
- Faire un Hook de la forme afin de capturer tous les évènements avant que Windows ne s'en occupe.
  C'est une technique plus complexe.
  Tu trouveras des exemples en tapant "hook" dans la recherche des codes en excluant .NET

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

vendredi 13 juin 2008 à 10:05:29 | Re : changement de focus avec fleche clavier

andalo

C'est un controle de type "map", il sert a afficher de l'information geographiques georeferencée, (exemple: image aerienne que l'on peut superposer avec des couches d'informations vecteur de type polygone representant des parcelles). Je voulais me servir des flêches pour deplacer l'emprise de la carte, la fleche "up" devant provoquer un deplacement vers le nord.
Merci pour les solutions proposées malgré mon manque de clarté!

Je suis un peu frileu pour le hook, j'avais déjà implanté un code de ce type(pour intercepter la molette de la souris) à une de mes applis mais je ne dois pas avoir le niveau necessaire pour le faire fonctionner correctement et ca plantais. La soluce textbox était interessante mais je pense avoir trouvé plus simple :
Ce n'est peut etre pas très propre mais ça fonctionne. En tout cas elle est hyper simple. Je gère les déplacements de ma carte (controle "map") dans l'evenement "lost_focus". Ce, en verifiant bien sur que une des quatres flêche du clavier est enfoncée. Si c'est le cas je redonne le focus au controle map apres avoir effectué le déplacement.





Cette discussion est classé dans : changement, focus, clavier, fleche


Répondre à ce message

Sujets en rapport avec ce message

changement de code pays du clavier (urgent) [ par asfilou ] comment faire pour changer le code clavier passer d'un code US a un code Francais, existe t il une API ?Merci Clavier key down [ par MatthieuFourcade ] Bonjour j'ai une question pour un mec je pense très doué en vb6.0 j'ai trouvépersonne pour m'aider encore et aucune source et je pense que c impossibl Webbrowser - Focus - Pas de Clavier [ par fox59 ] Je voudrais pouvoir recuperer le focus d'un champ d'une page internet.J'ai une application vb contenant un webbrowser, j'utilise un clavier virtuel (e Pb Clavier !!! [ par TomTom27 ] Bonjour, Lorsque j'appuis sur echap, je veux effectuer une action.Or, pour cela je n'ai pas trouvé d'autres solutions que de créer un keydown qui gere Changement de focus par la touche TAB [ par simtiers ] Salut j'essaie de faire dans une de mes app une navigation par clavier entre chaque éléments de ma fenêtre principale, comme dans les boites de dialog casse tete sur focus d'une fenetre ??? [ par doyen ] Salut a tous , j'avais posé la question suivante dans "peripheriques" la voila :1- est-il possible avec une carte graphique avec double affichage de p Focus + Bruit textbox [ par ABF ] Bonjour, je suis en train de développer une app et : J'ai un raccourci clavier qui permet de la masquer/afficher or lorsque je clique sur mon bureau Changement du titre d'une form [ par misteraoul ] Je sais que sa doit etre tout con mais je sais pas comment faire. J'ai le suivis de l'avancement des opérations qui doit s'afficher dans le titre de m handle d'un control ayant le focus clavier mais pas le curseur souris [ par bassardg ] Salut,Je galere depuis 2 jours à la recher d'un petit bout de code pour me permetre de recuperer le handle du control sur une form dont je ne suis pas Connaître l'état des touches du clavier même si la fenêtre n'a pas le focus [ par MadM@tt ] Voilà mon problème c'est que j'ai trouvé plein d'api pour détecter l'état des touches du clavier, mais ça ne marche pas si la fenêtre n'a pas le focus


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


HTC Magic

Entre 429€ et 429€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.