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

  1. #1
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 720
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 720
    Points : 15 106
    Points
    15 106
    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,
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 685
    Points : 13 102
    Points
    13 102
    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 éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 720
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 720
    Points : 15 106
    Points
    15 106
    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,
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

+ 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