Le focus ne veut pas partir du bouton...

cs_gamez Messages postés 34 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 27 janvier 2007 - 9 mars 2004 à 15:05
cs_christo01 Messages postés 22 Date d'inscription lundi 17 mars 2003 Statut Membre Dernière intervention 17 janvier 2006 - 11 mars 2004 à 20:44
bonjour

jai une form dans laquelle jutilise levenement OnKeyDown pour agir qd jappuye sur des touches.
qd jappuyes sur les touches en question j'ai bien l'action qui leur est assigné qui s'execute, jusque là ca va.

par contre j'ai ajouté sur ma form un bouton, cest le seul que j'ai et là qd jexecute mon OnKeyDown nest jamais prit en compte car le focus est maintenant en permanence sur ce bouton, (enfin je suppose que c'est ca le pb).

qd je fais un clic droit sur la form pour voir "lordre de tabulation" je nai que le bouton dans la liste et donc je suis bloqué.

quand je rends ce bouton invisible alors là jai la je peux utiliser les touches (les fleches gauches droites haut bas).

la propriete KeyPreview de la form aurait pu convenir mais dans l'aide de delphi voilà ce quils disent :
Les touches de navigation (Tab,les touches de déplacement,etc.)ne sont pas affectées par KeyPreview car elles ne génèrent pas d'événements clavier.De même,lorsqu'un bouton détient la focalisation ou lorsque sa propriétéDefault a la valeur true,la touche Entrée n'est pas affectée par KeyPreview car elle ne génère pas d'événements du clavier.

cest justement les touches de deplacement que jutilise :sad)

merci d'avance

3 réponses

cs_christo01 Messages postés 22 Date d'inscription lundi 17 mars 2003 Statut Membre Dernière intervention 17 janvier 2006
10 mars 2004 à 08:34
Salut !

C'est vrai, c'est toute une problematique !

Voilà ce que je te propose:

ajoute simplement cette ligne dans la onKeyDown du Button

form1.OnKeyDown(sender, key, shift);


Ainsi, quand le button a la focalisation, il transmet l'évenement à la Form.

Ou plus généralement, ajoute les évenements dans le OnKeyDown du Button...

Tiens moi au courant !
0
cs_gamez Messages postés 34 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 27 janvier 2007
10 mars 2004 à 23:32
finalement jai fais un tabstop=0 pour le bouton et je le rends invisible puis visible ds la foulee pour quil perde le focus au profit de la form.

par contre je comprends pas ton form1.onkeydown; onkeydown c pas une propriete on a le droit de faire ca???
0
cs_christo01 Messages postés 22 Date d'inscription lundi 17 mars 2003 Statut Membre Dernière intervention 17 janvier 2006
11 mars 2004 à 20:44
bien sûr !

ce code "appel" celui écrit dans le OnKeyDown du Form1, il "entre dedans"...

Mais quite à faire ça, mieux vaut peut-être faire une procédure...
0
Rejoignez-nous