gabs77
Messages postés379Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention 8 octobre 2008
-
27 avril 2007 à 18:31
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 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
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 27 avril 2007 à 19:37
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%" />
WhiteHippo
Messages postés1154Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention 5 avril 20123 27 avril 2007 à 20:07
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
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 27 avril 2007 à 20:31
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 !
Vous n’avez pas trouvé la réponse que vous recherchez ?
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 27 avril 2007 à 20:34
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 )