Combinaison de la touche ctrl + C [Résolu]

Messages postés
380
Date d'inscription
mardi 6 décembre 2005
Dernière intervention
8 octobre 2008
- - Dernière réponse : florenth
Messages postés
1105
Date d'inscription
dimanche 1 août 2004
Dernière intervention
17 août 2008
- 27 avril 2007 à 20:34
salut,

je cherche à faire des évènements claviers avec KeyDown et pour une seule touche enfoncée cela fonctionne mais je ne parviens pas a faire un évènement de touche combiné  du genre : " Ctrl+D "

procedure Tajouter.BtnImgKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin

   if (Key = VK_CONTROL)   then
        //ma procédure
end;


 
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
1105
Date d'inscription
dimanche 1 août 2004
Dernière intervention
17 août 2008
3
Merci
Salut,

Pur tester l'état des touches spéciales (Ctrl, Maj, Alt) tu peux utiliser le paramètre Shift transmis par la procédure.

Voila un bout de code qui détecte la combinaison Ctrl-C :

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (ssCtrl in Shift) and (Key in [Ord('c'), Ord('C')]) then
    ShowMessage('Control - C');
end;
<hr size ="2" width="100%" />

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 95 internautes nous ont dit merci ce mois-ci

Commenter la réponse de florenth
Messages postés
1270
Date d'inscription
samedi 14 août 2004
Dernière intervention
5 avril 2012
3
Merci
Bonsoir

Il me semble qu'il n'est pas nécessaire de distinguer les majuscules des minuscules. Dans ce cas, une simple comparaison avec la lettre en majuscule souhaitée suffit. Un doute ? Faites le test

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);

begin
  if (ssCtrl in Shift) and (Key = Ord('C')) then
    ShowMessage('Control - C');
end;

Cordialement.
<hr />"L'imagination est plus importante que le savoir." Albert Einstein

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 95 internautes nous ont dit merci ce mois-ci

Commenter la réponse de WhiteHippo
Messages postés
380
Date d'inscription
mardi 6 décembre 2005
Dernière intervention
8 octobre 2008
0
Merci
salut florenth et WhiteHippo,

   Je tiens à vous remercier pour m'avoir répondu assez rapidement, le code fonctionne à merveille.

WhiteHippo a raison il n'y a pas besoin de distinction entre majuscule et minuscule nécessaire.

Encore merci et bonne soirée !
Commenter la réponse de gabs77
Messages postés
1105
Date d'inscription
dimanche 1 août 2004
Dernière intervention
17 août 2008
0
Merci
Ah oui, tout à fait WhiteHippo.
Il me semblait qu'il y avait une différence suivant l'état de CapsLock mais en fait non.
Tant mieux alors, ça simplifie le code.

Merci à toi pour cet éclairage !
Commenter la réponse de florenth
Messages postés
1105
Date d'inscription
dimanche 1 août 2004
Dernière intervention
17 août 2008
0
Merci
Croisement de messages on dirait.
@gabs77: Content que ton problème soir résolu !

PS: pourquoi choisir des pseudos si tordus ? Bon le "77" c'est le département j'imagine. Et alors "gabs" c'est quoi ? (bon ok, à coté de Francky23012301 le tien est quand même plus simple )
Commenter la réponse de florenth

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.