Bonjour,
Dans mon application sous BCB 6, je voudrais utiliser la touche ENTER pour passer a l'Edit suivant (a la place de TAB). Je suis sur que c'est rien du tout.
Merci d'avance.
Version imprimable
Bonjour,
Dans mon application sous BCB 6, je voudrais utiliser la touche ENTER pour passer a l'Edit suivant (a la place de TAB). Je suis sur que c'est rien du tout.
Merci d'avance.
Salut,
tu peux te servir de l'évènnement OnKeyPress du TEdit et changer le focus lors d'un appuie sur Entrée:
Code:
1
2
3
4
5
6 void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) { if(Key == VK_RETURN) Edit2->Focused(); }
Merci pour la reponse.
Comment je fais pour simuler une touche ?
L'idée : "if(Key == VK_RETURN) Key=VK_TAB; "
Il y a plusieurs solutions tu peux utiliser PostMessage, mais il existe aussi une fonction dédiée à cela (API of course):
keybd_event
http://msdn.microsoft.com/library/de...eybd_event.asp
Je date un peu, je lis dans la doc que la fonction a été remplacée par SendInput (mais SendInput n'est pas supportée sur toutes les plateformes).
yarp
www.senosoft.com
Merci pour le tuyau.
RESOLU :
if(Key == VK_RETURN)
keybd_event( VK_TAB,0x4,KEYEVENTF_EXTENDEDKEY | 0,0 );
Bonne journee
Salut,
Je veux faire presque le même:
quand je presse le '+' touche (à droite) lors que je suis dans un TEdit, le cursor doit passer à un autre TEdit, sans que le '+' devient visible dans le premier TEdit.
Dans le OnKeyDown evenement d'un TEdit j'ai mis:
Comment est ce que je peux éviter que le '+' devient visible dans le TEdit?Code:
1
2
3 if(Key == VK_ADD) keybd_event( VK_TAB,0x4,KEYEVENTF_EXTENDEDKEY | 0,0 );
Salut Flagada:
Avec la fonction keybd_event envoye un backspace.
OK merçi, ça marche!
Et maintenant je veux presser le '/' et il faut paraître un 'I' dans le deuxieme TEdit. Quelle parametre il faut metre dans le keybd_event?
Par example:ça donne: 'z'. Mais je veux simuler le 'I', le 'V' et le 'X'. Et je ne reussit pas a trouver les virtual key codes.Code:
1
2 ( 90, 0x4, KEYEVENTF_EXTENDEDKEY | 0,0 );
ça y est. j'ai trouvé:Code:
1
2
3
4
5
6 keybd_event(VK_SHIFT,0x9d,0 , 0); // Shift Press keybd_event(VkKeyScan('I'),0x97,0 , 0); // I Press keybd_event(VkKeyScan('I'),0x97, KEYEVENTF_KEYUP,0); // I Release keybd_event(VK_SHIFT,0x9d,KEYEVENTF_KEYUP,0); // Shift