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 :

Annuler par la touche Echap


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 70
    Par défaut Annuler par la touche Echap
    Voilà, j'ai une boîte de dialogue, j'aimerais pouvoir la fermer sans rien valider en appuyant sur la touche Echap (Esc).

  2. #2
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut
    Utilise un BitBtn avec Kind = bkCancel

    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  3. #3
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Par défaut
    salut,
    tu peux aussi utiliser un TButton, sa propriété Cancel à True, et dans l'evènement OnClick de ce bouton tu met le code:
    une autre solution est de mettre la propriété KeyPreview de ta form à true et dans l'évènement OnKeyPress tu met le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if Key = #27 then self.close();

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Par défaut
    1. Propriété KeyPreview du form à True.
    2. Dans OnKeyDown, tu testes si la touche est ESC et si oui tu fermes la fenêtre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if Key = VK_ESCAPE then
      Close();

  5. #5
    Membre Expert 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
    Par défaut
    Citation Envoyé par evarisnea
    salut,
    tu peux aussi utiliser un TButton, sa propriété Cancel à True, et dans l'evènement OnClick de ce bouton tu met le code:
    [/code]
    Citation Envoyé par Reisubar
    1. Propriété KeyPreview du form à True.
    2. Dans OnKeyDown, tu testes si la touche est ESC et si oui tu fermes la fenêtre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if Key = VK_ESCAPE then
      Close();
    si c'est une boite modal utlise plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    modalresult:=2 // ou autre >1
    et a toit de vérifier au retoure de votre apel
    par example
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      case dilog.showmodal then
         1:..;  //clik sur ok
         2:...;//clik sur annuler
     
      end;

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 70
    Par défaut
    Ah yes c'est parfait tout ça, je n'avais pas mis la propriété KeyPreview à true. Sinon plutôt que ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if Key = VK_ESCAPE then
      Close();
    j'ai utilisé ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(Key = Word(VK_ESCAPE)) then
       ModalResult := 2;
    Merci

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/11/2008, 16h27
  2. valider le contenu d'un textbox par la touche entrée
    Par camilla dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 07/10/2005, 15h02
  3. [js]methode "alert", bouton annuler par defaut
    Par jeromejanson dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/09/2005, 11h35
  4. [débutant] Ordre des champs de saisie par la touche tab
    Par almisuifre dans le forum C++Builder
    Réponses: 10
    Dernier message: 03/03/2005, 19h45
  5. Comment gérer la touche echap ?
    Par Adrael dans le forum C
    Réponses: 28
    Dernier message: 11/07/2003, 13h15

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