IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

Attribuer un raccourci clavier à un bouton de type TbitBtn


Sujet :

Delphi

  1. #1
    Membre du Club
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 101
    Points : 64
    Points
    64
    Par défaut Attribuer un raccourci clavier à un bouton de type TbitBtn
    Salut tout le monde

    Je voudrais savoir comment affecter des raccourcis clavier à des boutons, par exemple :
    Lorsque j’appuis sur la touche F3 c’est (l’enregistrement du client)
    Lorsque j’appuis sur la touche F1 c’est le bouton HELP qui s’affiche
    Lorsque d'appuis sur echap la fenêtre se ferme..etc

    Voici l’image au dessous qui représente la situation, et merci d’avance.


  2. #2
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    Pour faire ce que tu souhaite, tu dois mettre la propriété KeyPreview de ta form à true et ensuite, coder ce que tu souhaites faire dans l'événement OnKeyDown ou OnKeyUp (Au choix)... Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      case Key of
       Ord(VK_F1): BitBtnHELP.Click;
       Ord(VK_F3): BitBtnSave.Click;
       Ord(VK_ESCAPE): Close;
      end;
    end;
    En espérant que cela réponde à ta question!
    A+

  3. #3
    Membre du Club
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 101
    Points : 64
    Points
    64
    Par défaut merci
    Ça a parfaitement répondu à ma question, et pour cela je vous remercie infiniment , reste une dernière chose :
    Comment raccourcir les touches (dans ce même contexte) du genre (Alt+C, Alt+F1 ..Etc)? et merci d’avance.

  4. #4
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Pour faire le test sur Alt, Ctrl etc... il faut tester le paramètre Shift qui peut prendre les valeurs si dessous :

    Citation Envoyé par Aide Delphi
    Le type TShiftState est utilisépar les gestionnaires du clavier et de la souris pour déterminer l'état des touches Alt,Ctrl et Maj ainsi que l'état des boutons de la souris au moment oùl'événement se produit.Voici un ensemble d'indicateurs et leur signification :

    Valeur Signification

    ssShift La touche Maj est enfoncée.
    ssAlt La touche Alt est enfoncée.
    ssCtrl La touche Ctrl est enfoncée.
    ssLeft Le bouton gauche de la souris est enfoncé.
    ssRight Le bouton droit de la souris est enfoncé.
    ssMiddle Le bouton central de la souris est enfoncé.
    ssDouble On a double-cliquésur la souris.
    Admettons que je reprenne ton le code de mon post précédent mais que je veuille afficher l'aide avec Alt+F1 ... ça donnerai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      // Si Alt est enfoncé ...
      if ssAlt in Shift then
      begin
        case Key of
         Ord(VK_F1): BitBtnHELP.Click;
        end;
      end
      // ... sinon
      else
      begin
        case Key of
         Ord(VK_F3): BitBtnSave.Click;
         Ord(VK_ESCAPE): Close;
        end;
      end;
    end;
    Voilà
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lié un raccourci clavier à un bouton
    Par zlink17 dans le forum VB.NET
    Réponses: 0
    Dernier message: 28/07/2009, 15h26
  2. Raccourci clavier pour bouton face avant
    Par Maxoow dans le forum LabVIEW
    Réponses: 2
    Dernier message: 02/06/2009, 07h56
  3. Déplacer des messages via raccourci clavier ou bouton
    Par le chat 78 dans le forum VBA Outlook
    Réponses: 0
    Dernier message: 21/11/2007, 17h32
  4. raccourci clavier sur bouton
    Par zoidy dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/08/2007, 15h34
  5. [] Raccourci clavier pour bouton d'une barre d'outil
    Par Sébastien dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 24/03/2003, 17h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo