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] comment savoir quel bouton appelle ma form ?


Sujet :

Langage Delphi

  1. #1
    Membre régulier Avatar de dleu
    Profil pro
    Inscrit en
    Août 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 169
    Points : 77
    Points
    77
    Par défaut [D7] comment savoir quel bouton appelle ma form ?
    Mon problème : une Form est appelée par deux boutons différents situés sur deux forms différentes.

    Comment puis-je, dans l'événement OnActivate de la form appelée, quel bouton a été cliqué ?

    Merci de votre aide.

    Didier

  2. #2
    Membre éclairé
    Avatar de MD Software
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 613
    Points : 680
    Points
    680
    Par défaut Re: [D7] comment savoir quel bouton appelle ma form ?
    Citation Envoyé par dleu
    une Form est appelée par deux boutons différents
    Qu'est-ce que tu entends par appelé ?
    ShowModal ?
    Show ?
    ... ?

  3. #3
    Membre régulier Avatar de dleu
    Profil pro
    Inscrit en
    Août 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 169
    Points : 77
    Points
    77
    Par défaut Re: [D7] comment savoir quel bouton appelle ma form ?
    Citation Envoyé par MD Software
    Citation Envoyé par dleu
    une Form est appelée par deux boutons différents
    Qu'est-ce que tu entends par appelé ?
    ShowModal ?
    Show ?
    ... ?
    Par ShowModal. Form3 peut être ouverte par un clic sur le bouton1 de la Form1 ou par un clic sur le bouton2 de la Form2. Ce que je voudrais savoir, c'est comment faire pour, lors de l'activation de la Form3, savoir quel est le bouton qui a été cliqué.

    Merci de ton aide.

  4. #4
    Membre éclairé
    Avatar de MD Software
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 613
    Points : 680
    Points
    680
    Par défaut
    Il faut que tu redéfinisse la méthode ShowModal pour qu'elle accepte en paramètre le sender.
    Voici un exemple (non testé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function TForm3.ShowModal(Sender : TObject) : integer;override;reintroduce;
    begin
      //fait un traitement en fonction du sender
      if ((Sender as TButton).name='BP_Bouton1') then
        beep;
      //appel à la méthode d'origine
      result := inherited.ShowModal;
    end;

  5. #5
    Membre régulier Avatar de dleu
    Profil pro
    Inscrit en
    Août 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 169
    Points : 77
    Points
    77
    Par défaut
    Ah, super.

    Merci. Je teste ça au plus vite.

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2002
    Messages : 245
    Points : 154
    Points
    154
    Par défaut
    Une autre solution plutot simple:

    Sur le Onclick de ton button1, tu mets: Form3.Tag:=1;

    Sur le Onclick de ton button2, tu mets: Form3.Tag:=2;

    Sur le Onshow de ta form3, il suffit de lire la valeur de Form3.tag


  7. #7
    Membre éclairé
    Avatar de MD Software
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 613
    Points : 680
    Points
    680
    Par défaut
    Citation Envoyé par Ben_Le_Cool
    Une autre solution plutot simple:

    Sur le Onclick de ton button1, tu mets: Form3.Tag:=1;

    Sur le Onclick de ton button2, tu mets: Form3.Tag:=2;

    Sur le Onshow de ta form3, il suffit de lire la valeur de Form3.tag

    Tout a fait

  8. #8
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2002
    Messages : 245
    Points : 154
    Points
    154
    Par défaut
    Puisqu'un membre chevronne a valide cette solution, alors un tag resolu est recommande

  9. #9
    Membre régulier Avatar de dleu
    Profil pro
    Inscrit en
    Août 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 169
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par Ben_Le_Cool
    Une autre solution plutot simple:
    Sur le Onclick de ton button1, tu mets: Form3.Tag:=1;
    Sur le Onclick de ton button2, tu mets: Form3.Tag:=2;
    Sur le Onshow de ta form3, il suffit de lire la valeur de Form3.tag
    Merci, difficile de faire plus simple en effet.

    Allez hop, [Résolu].

    Merci à vous deux.

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

Discussions similaires

  1. [FORMULAIRE] Comment savoir quel bouton radio est checked pour test ?
    Par Sekigawa dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/02/2009, 11h16
  2. Réponses: 6
    Dernier message: 13/02/2009, 17h25
  3. (newbie)savoir quel bouton a appelé une fonction
    Par tibtibby dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/06/2006, 16h50
  4. [C#] Savoir quel bouton a déclenché l'évènement
    Par Amerok dans le forum ASP.NET
    Réponses: 4
    Dernier message: 01/12/2005, 15h19
  5. comment savoir quel menu est en surbrillance?
    Par LRobi dans le forum MFC
    Réponses: 2
    Dernier message: 27/01/2005, 09h04

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