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

Composants VCL Delphi Discussion :

raccourci dans tout le programme


Sujet :

Composants VCL Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 118
    Points : 57
    Points
    57
    Par défaut raccourci dans tout le programme
    Hello,

    Sur ma fenêtre principale j'ai un MainMenu dans lequel je place un bouton avec la touche de raccourci F9.

    Tout va bien lorsque je reste dans la fenêtre principale, mais lorsque j'ouvre une fenêtre secondaire, je n'ai bien sûr plus accès à la fonction placée derrière le raccourci F9...

    Y-a-t-il moyen d'appliquer le raccourci pour tout le programme ?? sans devoir mettre un MainMenu ou un PopupMenu dans chaque Form et de redéclarer le raccourci...

    merci d'avance,
    greg

  2. #2
    Membre habitué
    Inscrit en
    Mai 2002
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 275
    Points : 185
    Points
    185
    Par défaut
    Bonjour,

    Tu mets la propriété KeyPreview de ta form principal à True.
    Tu places ton code dans l'evenement OnKeyPress.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Ord(Key) = VK_F9 then
    begin
    //ton Traitement
    end;
    A+
    Cyril

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 118
    Points : 57
    Points
    57
    Par défaut
    merci nickel...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 118
    Points : 57
    Points
    57
    Par défaut
    j'ai répondu un peu vite, je ne sais pas pourquoi mais ça n'a plus l'air de fonctionner???

    j'ai encore dans mon MainMenu de ma Form principale le raccourci F9 que je laisse, et c'est la fonction sur ce bouton qui est privilégiée lorsque j'appuie sur F9 dans ma fenêtre principale...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 118
    Points : 57
    Points
    57
    Par défaut
    cyril,
    pour info les touches F1... ne sont accessibles avec le OnKeyPres...

  6. #6
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Citation Envoyé par greg778
    cyril,
    pour info les touches F1... ne sont accessibles avec le OnKeyPres...
    Effectivement par contre, elles le sont dans OnKeyDown et OnKeyUp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    If Key = VK_F9 then //Directement
    begin 
    //ton Traitement 
    end;
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 118
    Points : 57
    Points
    57
    Par défaut
    oui je sais, mais ça n'a pas l'air de fonctionner avec la fonction KeyPreview...

  8. #8
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Ca devrait marcher pourtant...
    Citation Envoyé par greg778
    mais ça n'a pas l'air de fonctionner avec la fonction KeyPreview...
    KeyPreview n'est pas une fonction mais une propriété de TForm... Si tu veux que la Form intercepte tous les évènements de touches (donc, dans ton cas aussi), il faut mettre cette propriété à true.
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 118
    Points : 57
    Points
    57
    Par défaut
    de plus lorsque j'ouvre une forme secondaire, je mets le focus dans un Edit pour lequel je controle ce qui est tapé... et le keydown sur la form secondaire n'agit apparemment pas!!?!

  10. #10
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Tu as bien mis KeyPreview à true à cette Form aussi?
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 118
    Points : 57
    Points
    57
    Par défaut
    j'ai ça sur ma form principale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TProjetVprintPersoft.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
     If Key = VK_F11 then //Directement
      begin
       Showmessage('test');
      end;
    end;
    et j'ai mis la fonction Keypreview à true pour ma form principale et ma form secondaire...

  12. #12
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    essaye dans shurtkey de la forme principal
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 118
    Points : 57
    Points
    57
    Par défaut
    shurtkey??
    pas shortkey??

    mais je ne vois pas de quoi tu parles?? il n'y a pas de propriété Shortkey pour une Form...?

  14. #14
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    l'evenement onchurtkey de la form
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 118
    Points : 57
    Points
    57
    Par défaut
    j'ai onShortCut mais pas onChurtKey...

  16. #16
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  17. #17
    Membre averti Avatar de Soulama
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 619
    Points : 416
    Points
    416
    Par défaut
    si jai bien comprit ta 2 Forme, et l'une est modal, alor ya moyen de faire:
    Dans Form2 faut declarer Form1 dans les uses et faire:
    Form1.TonMenu.TonBoutton.click
    Apprends la science de celui qui sait, et enseigne ta science à celui qui ignore, comme ca, tu auras appris ce que tu ignores et utilisé ce que tu sais.

  18. #18
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    mais question,

    KeyPreview n'est pas fait plutot pour intercepter les touches et les rendre à l'évenement KeyPressed de la form AVANT de les rendre sur le KeyPressed du composant focalisé ?


    Je ne crois pas que cela intercepte les touches des autres forms (qui d'ailleurs ont la meme prop. KeyPreview, si elles étaient à True qui aurait le dernier mot ?)
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  19. #19
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Citation Envoyé par TicTacToe
    KeyPreview n'est pas fait plutot pour intercepter les touches et les rendre à l'évenement KeyPressed de la form AVANT de les rendre sur le KeyPressed du composant focalisé ?
    Si exactement

    Citation Envoyé par TicTacToe
    Je ne crois pas que cela intercepte les touches des autres forms (qui d'ailleurs ont la meme prop. KeyPreview, si elles étaient à True qui aurait le dernier mot ?)
    Oui il faut donc faire un gestionnaire OnKeyDown pour chaque Form Celle qui aurait le denier mot est la TForm active.
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 118
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par Pedro204
    Oui il faut donc faire un gestionnaire OnKeyDown pour chaque Form
    c'est ce que j'ai fait, j'ai mis ma fonction sur chaque OnKeyDown et ça focntionne...

    merci à tous,
    greg

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

Discussions similaires

  1. Raccourci de dossier dans Menu démarrer/Programmes
    Par jypjyp dans le forum VBScript
    Réponses: 3
    Dernier message: 27/09/2007, 10h41
  2. [InnoSetup] Ajouter un raccourci dans menu Démarrer
    Par jlvalentin dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 23/02/2005, 16h26
  3. Réponses: 9
    Dernier message: 09/11/2004, 11h41
  4. creation d'une raccourcie dans le menu demarre
    Par kenshi dans le forum MFC
    Réponses: 14
    Dernier message: 11/09/2003, 14h59
  5. [TP]Insertion texte dans un autre programme
    Par FLB dans le forum Turbo Pascal
    Réponses: 53
    Dernier message: 14/06/2003, 20h11

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