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

Lazarus Pascal Discussion :

[Linux] Trouver le Sender d'un événement [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 127
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 127
    Par défaut [Linux] Trouver le Sender d'un événement
    Bonsoir,

    Sur la fiche d'une maquette j'ai un TPanel et dans celui-ci j'ai 24 autres TPanels, chacun contenant une TCheckBox.

    Je me déplace d'un panel enfant à l'autre avec les flèches gauche-droite ou TAB-MAJ_TAB, et tout va bien.

    Quand j'entre dans un panel enfant, celui-ci donne le focus à la checkbox qu'il contient, du coup en appuyant sur ESPACE je coche ou décoche la case et c'est parfait ça serait parfait si je pouvais savoir quelle checkbox a généré l'événement, mais quand je mets dans la procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); la ligne ShowMessage((Sender as TObject).ClassName);, ça me retourne devinez quoi ? TForm1.

    Et comment je vais réussir à trouver la checkbox qui vient d'être cochée ou pas ?
    Parce que c'est ça dont j'ai besoin…

    Merci pour vos idées,

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 933
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 933
    Par défaut
    Le message n'est pas traité au niveau des CheckBox, KeyPreview est à TRUE, C'est effectivement la fiche qui génère l'événement.

    Mais à n'importe quel moment, tu peux savoir quel composant détient la focalisation par Screen.ActiveControl.

  3. #3
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 127
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 127
    Par défaut
    'soir,
    Citation Envoyé par Andnotor Voir le message
    Le message n'est pas traité au niveau des CheckBox, KeyPreview est à TRUE, C'est effectivement la fiche qui génère l'événement.
    Si KeyPreview est à True le message provenant des CheckBox est mangé ? Damned ! D'autres aussi, surement, alors…


    Citation Envoyé par Andnotor Voir le message
    Mais à n'importe quel moment, tu peux savoir quel composant détient la focalisation par Screen.ActiveControl.
    Tellement le nez sur les ComponentsCount et autres Controls[x] de bas niveau que je n'ai pas vu cet aspect plus haut placé.

    Merci à toi,

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

Discussions similaires

  1. [Lazarus] Utilisation de Sender d'un évènement
    Par ChPr dans le forum Lazarus
    Réponses: 2
    Dernier message: 11/12/2014, 18h35
  2. Commande pour trouver la version de Linux
    Par Gogoye dans le forum Administration système
    Réponses: 11
    Dernier message: 12/02/2013, 15h43
  3. [Lazarus] [Linux] Trouver une fenêtre par son titre
    Par Blizz4rd dans le forum Lazarus
    Réponses: 4
    Dernier message: 26/09/2010, 02h41
  4. Réponses: 9
    Dernier message: 05/11/2006, 00h33

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