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

gabs77 380 Messages postés mardi 6 décembre 2005Date d'inscription 8 octobre 2008 Dernière intervention - 27 avril 2007 à 18:31 - Dernière réponse : florenth 1105 Messages postés dimanche 1 août 2004Date d'inscription 17 août 2008 Dernière intervention
- 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
florenth 1105 Messages postés dimanche 1 août 2004Date d'inscription 17 août 2008 Dernière intervention - 27 avril 2007 à 19:37
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%" />

Merci florenth 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de florenth
Meilleure réponse
WhiteHippo 1270 Messages postés samedi 14 août 2004Date d'inscription 5 avril 2012 Dernière intervention - 27 avril 2007 à 20:07
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

Merci WhiteHippo 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de WhiteHippo
gabs77 380 Messages postés mardi 6 décembre 2005Date d'inscription 8 octobre 2008 Dernière intervention - 27 avril 2007 à 20:30
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
florenth 1105 Messages postés dimanche 1 août 2004Date d'inscription 17 août 2008 Dernière intervention - 27 avril 2007 à 20:31
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
florenth 1105 Messages postés dimanche 1 août 2004Date d'inscription 17 août 2008 Dernière intervention - 27 avril 2007 à 20:34
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.