22 Voix

Delphi: Les Touches de Fonction telles que F1, F2 et F3 ne fonctionnent pas dans l'événement FormKeyDown

Question de Invité | 16/06/2021 à 21:46

Dans l'événement FormKeyDown, je souhaite réagir aux touches de fonction (F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11 et F12) et attribuer une action appropriée (HotKey). Pour cela j'utilise le code suivant :

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_F1 then Function1();
  if Key = VK_F2 then Function2();
  if Key = VK_F3 then Function3();
  //usw
end;

Problème: Pour une raison quelconque, cela ne fonctionne pas. Apparemment, lorsque vous appuyez sur F1, même l'événement FormKeyDown du formulaire n'est pas appelé! Qu'est-ce que je fais mal? J'ai vérifié le code plusieurs fois et avec toutes les autres clés virtuelles telles que VK_SPACE, cela fonctionne parfaitement! Ce n'est qu'avec les touches de fonction qu'il y a un problème!

RépondrePositifNégatifDateVoix
2Meilleure Réponse2 Voix

Votre code peut rester exactement tel qu'il est, essayez simplement de démarrer le programme en dehors de l'IDE.

Lorsque vous exécutez le programme dans Delphi, les touches de fonction sont affectées par Delphi pour contrôler le programme et pour le débogage du programme et vous ne pouvez donc pas accéder à leur événement de clé via le OnKeyDown.

Mais si vous démarrez le programme en dehors de Delphi, cela devrait fonctionner.
17/06/2021 à 13:33

RépondrePositif Négatif
00 Voix

J'ai eu le même problème! Et c'est la solution ! Merci beaucoup!

Sans votre pourboire, je ne pourrais jamais l'obtenir!
29/06/2021 à 13:49

Positif Négatif
Répondre
00 Voix

Avec Delphi Sydney ce n'est pas une option: F1 est également ignorée "en dehors".
20/06/2021 à 19:31

RépondrePositif Négatif
11 Vote

Ensuite, c'est probablement autre chose.

Par exemple, avez-vous oublié de définir KeyPreview sur true?
21/06/2021 à 00:56

Positif Négatif
Répondre
Répondre

Sujets Connexes

VirtualBox: Changer la Date et l'Heure

Tutoriel | 10 Commentaires

La Recherche Askingbox

Info | 0 Commentaires

Avis Important

Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.

Participer

Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.