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

Langage Delphi Discussion :

Comment insérer des raccourcis-clavier dans une boucle


Sujet :

Langage Delphi

  1. #1
    Membre du Club Avatar de ddubois
    Profil pro
    Inscrit en
    Février 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 111
    Points : 47
    Points
    47
    Par défaut Comment insérer des raccourcis-clavier dans une boucle
    Je souhaite ajouter des raccourcis clavier (Ctrl+numéro de 0 à 9) au 10 premiers sous-menu dynamique stockés dans un fichier .ini lu au démarrage de mon appli.
    Pour ce faire, j'utilise la commande suivante dans une boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
          {Ajouter un raccourci-clavier :}
          NewItem.shortcut := ShortCut(Word('1'),[ssCtrl]); //ex : Ctrl+1
    J'ai donc voulu mettre :

    NewItem.shortcut := ShortCut(Word(IntToStr(I)),[ssCtrl]);

    mais cela génère une erreur. Comment faut-il s'y prendre pour incrémenter la valeur numérique du raccourci ?

    Voici mon code complet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
        Keys := TStringList.Create;
        for I := 0 to Keys.Count - 1 do
        begin
          NewItem  := TMenuItem.Create(Self);   
          NewItem.Caption := Keys.Strings[i];
          NewItem.Tag := i; 
          NewItem.Hint := FileIni.ReadString('Shortcut', Keys[i], ''); //Stock les chemins dans le Hint de chaque MenuItem !
          mnuShortcuts.Add(NewItem);
          {Ajouter un raccourci-clavier :}
          NewItem.shortcut := ShortCut(Word('1'),[ssCtrl]);
          NewItem.OnClick := mnuEvalAAMClick;
        end;
      end;
    Merci,

    Daniel

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 586
    Points : 25 256
    Points
    25 256
    Par défaut
    Word(IntToStr(I)), qu'est ce que ça fait ? ça transtype une chaine courte constante en word ? ça me parait louche ...

    Je tenterais pour avoir des raccourcis de 0 à 9 par exemple, ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NewItem.shortcut := ShortCut(Ord('0') + I,[ssCtrl]);

  3. #3
    Membre du Club Avatar de ddubois
    Profil pro
    Inscrit en
    Février 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 111
    Points : 47
    Points
    47
    Par défaut
    ok ca marche pour l'affichage dans le menu !
    Mais par contre aucune réaction lorsque je fais le raccourci-clavier, c'est normal ? Faut-il un traitement particulier ?
    Habituellement c'est automatique, non ?

    Denis

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 586
    Points : 25 256
    Points
    25 256
    Par défaut
    Ben, normalement, cela devrait fonctionner ... j'utilise plus souvent les raccourcis via ALT + ... avec le _ qui indique la lettre que le ShortCut, par manque de pratique, je ne peux pas te répondre ...

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/04/2012, 09h28
  2. Intégrer des raccourcis claviers dans une JFrame
    Par FistOr dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 18/03/2008, 18h46
  3. Insérer des données Excel dans une base Access ?
    Par MaTHieU_ dans le forum Access
    Réponses: 3
    Dernier message: 22/06/2005, 15h11
  4. Comment spécifier des raccourcis claviers sur une Form ?
    Par Sydaze dans le forum Composants VCL
    Réponses: 5
    Dernier message: 17/06/2005, 09h05
  5. [BPW]Raccourcis clavier dans une fenêtre enfant
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 18/02/2004, 20h07

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