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 :

[D7] KeyPreview ne fonctionne pas


Sujet :

Langage Delphi

  1. #1
    Membre actif Avatar de declencher
    Inscrit en
    Mai 2003
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 441
    Points : 251
    Points
    251
    Par défaut [D7] KeyPreview ne fonctionne pas
    Bonjour,

    Je souhaite détecter n'importe quelle frappe clavier sur n'importe quel composant de ma TForm, dans le but de proposer l'enregistrement de la saisie avant de quitter l'appli si l'utilisateur ne l'a pas fait.

    Donc dans ma TForm, j'ai code la fonction OnKeyPress, et j'ai mis à True la propriété KeyPreview. Mais ça ne marche pas.

    Voici la structure de mon IHM :
    - TForm principal contient :
    - TJvPanel qui contient :
    - TJvPageList qui contient :
    - Ma TForm

    Avec ce principe j'ai converti ma vieille appli développée en MDI en appli plus "moderne" à base d'onglet.

    J'ai tenté de mettre ne OnKeyPress et le KeyPreview à true sur la TForm principal, et là ça marche. Le problème c'est que ça m'oblige à savoir dans quel onglet s'est faite la saisie.

    Je ne comprends pas pourquoi je ne peux pas reproduire ce comportement dans Ma TForm de plus bas niveau. Je croyais que l'évènement remonté à son parent qui remonté ensuite au parent etc... Dans mon cas le parent ne détecte rien, et c'est le grand père qui reçoit l'évènement

    Quelqu'un aurait une piste pour m'aider ?

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Points : 619
    Points
    619
    Par défaut
    J'ai rencontré le même problème et je m'en suis sortie justement en regroupant mon code au niveau de la fenêtre principale et en analysant l'onglet actif.

    Quand on ouvre une nouvelle forme on lui définit comme parent l'onglet dans lequel on veut qu'elle s'affiche
    C'est donc normal qu'à partir de ce moment l'évènement onKeyPress appelé soit celui de la fenêtre principale qui contient le PageFrame.

  3. #3
    Membre actif Avatar de declencher
    Inscrit en
    Mai 2003
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 441
    Points : 251
    Points
    251
    Par défaut
    Bonjour,

    C'est ce que j'ai commencé à faire. Le hic c'est que ma Form principale ne contient pas que le JvPageList, mais aussi un autre TPanel. Du coup si un onglet est ouvert et qu'il y a une saisie dans l'autre panel, alors je ne sais pas distinguer où est faite la saisie...



    Galère

Discussions similaires

  1. Réponses: 6
    Dernier message: 27/01/2004, 12h14
  2. [FP]Writeln ne fonctionne pas !
    Par néo333 dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 02/11/2003, 00h47
  3. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 11h04
  4. Un Hint sur un PopupMenu ne fonctionne pas !!??
    Par momox dans le forum C++Builder
    Réponses: 6
    Dernier message: 26/05/2003, 17h48
  5. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 01h10

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