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
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
Qu'est-ce que tu entends par appelé ?Envoyé par dleu
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é.Envoyé par MD Software
Merci de ton aide.
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;
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
Puisqu'un membre chevronne a valide cette solution, alors un tag resolu est recommande
Merci, difficile de faire plus simple en effet.Envoyé par Ben_Le_Cool
Allez hop, [Résolu].
Merci à vous deux.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager