Association Bouton/Clavier... [Résolu]

hippo27 8 Messages postés jeudi 9 décembre 2004Date d'inscription 6 mai 2006 Dernière intervention - 4 mai 2006 à 18:21 - Dernière réponse : hippo27 8 Messages postés jeudi 9 décembre 2004Date d'inscription 6 mai 2006 Dernière intervention
- 6 mai 2006 à 22:32
Voila, je pose le probleme, j'essaie de programmer des chiffres et des lettres. Je pense que je vais bloquer sur un petit probleme, alors je prends de l'avance.
J'aimerais associer l'utilisation de boutons a celle du clavier. J'explique: deux joueurs sur le meme poste de travail pas evident. L'un utilise la souris, mais l'autre? Je voudrais qu'en tapant sur les chiffres du pave numerique, un bouton soit activé(comme si on avait clique dessus), chaque bouton correspondant a un chiffre.
En attendant peu d'aide, a beintot et merci.
hippo27
Afficher la suite 

4 réponses

Répondre au sujet
Abadianet 50 Messages postés mercredi 2 novembre 2005Date d'inscription 19 juin 2006 Dernière intervention - 4 mai 2006 à 20:49
+3
Utile
Bonsoir Hippo27,

Une façon de faire, dans ta forme, tu programmes l'événement suivant (rediriger l'appui des touches 1, 2, 3 ... vers les événements de chaque click des boutons 1, 2, 3 ....)

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
case key of
'1' : Button1Click(Sender);
'2' : Button2Click(Sender);
'3' : Button3Click(Sender);
end;
end;

et tu dois renvoyer tous les composants qui peuvent avoir le focus (bouton ...) vers ce même événement

Bonne programmation de jeu

Abadiane
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Abadianet
Abadianet 50 Messages postés mercredi 2 novembre 2005Date d'inscription 19 juin 2006 Dernière intervention - 6 mai 2006 à 20:13
+3
Utile
Bonsoir Hippo27,

On va y aller pas à pas.
1) Dans Delphi, sais-tu associer un événement à un objet (cela se fait dans l'inspecteur d'objet, onglet Evénements) ?
2) Si c'est OK, tu sélectionnes ta forme principale
3) dans l'onglet Evénements tu trouves l'événement OnKeyPress,
4) Tu double-cliques dans la liste à droite de "OnKeyPress",
5) Tu te retrouves alors dans le programme avec le corps de la procédure tel que celle ci-dessous
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin

end;
6) Que tu complètes comme dans mon exemple
7) Ensuite, au lieu de retaper le même programme pour tous les boutons de ta forme, dans l'onglet Evénements face à l'événement OnKeyPress tu recherches dans la liste (au lieu de double-cliquer comme précédemment) l'évenement FormKeyPress
8) Un élément qui peut recevoir le focus correspond à tous les éléments que ton curseur peut atteindre (en cours d'exécution de ton programme) en utilisant la touche TAB (il y donc les boutons, les Chekbox, RadioButton ...).

Voilà, voilà
Note le point sur tu n'as pas compris, on va y arriver
Bonne programmation

Abadiane
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Abadianet
hippo27 8 Messages postés jeudi 9 décembre 2004Date d'inscription 6 mai 2006 Dernière intervention - 6 mai 2006 à 15:27
0
Utile
Je te remercie Abadiane. Tu reponds exactement a ma demande, cependant, j'ai une ou deux questions sur ton explication, qui peut paraitre idiote, mais je debute en graphique:
cette procedure/evenement, je l'associe a la fiche,aux boutons ou aux touches? Je ne vois pas comment l'utiliser en fait.
Qu'est ce que le focus?
Merci encore pour ta reponse, en esperant un autre message de ta part je te salue!
hippo27
Commenter la réponse de hippo27
hippo27 8 Messages postés jeudi 9 décembre 2004Date d'inscription 6 mai 2006 Dernière intervention - 6 mai 2006 à 22:32
0
Utile
Bonsoir Abadiane,
cette fois grace a tes explications tout est clair. Je pense que je vais pouvoir reussir. Je ne savais pas que l''on pouvait associer la meme procedure a plusieurs boutons.J'ai beaucoup appris.
Je te remercie mille fois pour le temps que tu m'as accordé et pour la precision ed tes reponses.
Bonne fin de soiree et peu etre a bientot!
Hippo27
Commenter la réponse de hippo27

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.