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 :

FormKeyPress, pas de reaction


Sujet :

Delphi

  1. #1
    Membre actif
    Inscrit en
    Décembre 2003
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 491
    Points : 245
    Points
    245
    Par défaut FormKeyPress, pas de reaction
    Bonjour, encore moi,

    J'ai un souci avec l’événement suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    procedure TDVIEW1.FormKeyPress(Sender: TObject; var Key: Char);
       begin
       if Key = VK_ESCAPE
       then BCancelClick(self);
       end;
    Comme d'habitude je travaille sur des exemples trouvés ici et la.
    Le code ci-dessus doit fermer une fenêtre ou je fais des saisies avant de les sauver dans un DataGrid.

    J'ai un message d'erreur qui dit: type incompatible avec la ligne
    then BCancelClick(self).

    Pareil avec ce test:

    then begin
    ShowMessage('Touche escape')
    end





    Delphi ne trouve pas en complexion du texte la constante VK_ESCAPE.

    Est-ce qu'il y a une bibliothèque a charger ou je ne sais quoi a faire??

    Merci d'avance pour votre aide

    Marc_3

  2. #2
    Membre expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti chat, bienfaiteur de tritons et autres bestioles

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 561
    Points : 3 955
    Points
    3 955
    Par défaut
    Salut

    - pour BCancelClick(self);, il vaudrait mieux passer l'objet délégataire (btnCancel par exemple) plutôt que la fiche déléguée (ici self), si ton code tient compte de la nature du paramètre Sender, tu peux avoir des surprises.

    - pour qu'un gestionnaire FormKeyPress intercepte bien les actions au clavier, tu dois affecter True à la propriété KeyPreview de la fiche.

    - de mémoire, VK_ESCAPE est défini dans l'unité Windows.

    Précision : j'ai pas Delphi au boulot pour aller fouiller dans les sources.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Effectivement les touches VK_ sont dans "Winapi.Windows"

  4. #4
    Membre actif
    Inscrit en
    Décembre 2003
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 491
    Points : 245
    Points
    245
    Par défaut
    C’était bien un problème avec la propriété KeyPreview de la fiche.
    Merci pour la réponse, c'est résolu

    marc_3

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

Discussions similaires

  1. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 14h43
  2. [Kylix] [cgi] ne trouve pas libsqlmy.so.1 !
    Par Nepomiachty Olivier dans le forum EDI
    Réponses: 3
    Dernier message: 04/07/2002, 15h15
  3. Réponses: 1
    Dernier message: 23/06/2002, 00h15
  4. Pas de fork sous Windows?
    Par chezjm dans le forum POSIX
    Réponses: 8
    Dernier message: 11/06/2002, 12h15

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