Plusieurs bouttons et 1 énénement [Résolu]

Folders 2 Messages postés lundi 14 juin 2004Date d'inscription 15 mai 2005 Dernière intervention - 15 mai 2005 à 00:35 - Dernière réponse : Folders 2 Messages postés lundi 14 juin 2004Date d'inscription 15 mai 2005 Dernière intervention
- 15 mai 2005 à 18:40
Voila mon problème:
Dans un MenuItem, j'ai plusieurs boutons, mais j'aimerais utiliser le même événement pour tous.
Jusque la, c'est facile. Mais voila, j'arrive pas a trouver une solution pour que le programme différencier le bouton sur lequel j'ai appuyé.
Donc j'aimerais savoir si c'est possible et comment faire pour reconnaître le composent (soit le nom, le caption, le ligne ou il se trouve sur la liste ou n'importe quoi d'autre qui me permettent de les différencier ) qui appel un événement.

Merci de m'aider...
Folders
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
WhiteHippo 1270 Messages postés samedi 14 août 2004Date d'inscription 5 avril 2012 Dernière intervention - 15 mai 2005 à 08:35
3
Merci
Utilise le "Sender" qui represente l'emetteur du message.

Exemple :
Un label, plusieurs boutons auxquels on associe l'événement Onclick suivant :

procedure TForm1.ClickSurBouton(Sender: TObject);
begin
if (Sender is TButton) then // On verifie que l'emetteur est bien de type TButton
begin
Label1.Caption := TButton(Sender).Name ;
end ;
end;

Un click sur chacun des boutons fera apparaitre son nom dans le Label1.

Cordialement.

Merci WhiteHippo 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de WhiteHippo
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 15 mai 2005 à 10:01
0
Merci
Pense aussi à exploiter la propriété Tag des composants en leur attribuant une valeur différente :

procedure TForm1.ClickSurBouton(Sender: TObject);
begin
if Sender is TButton then
case TButton(Sender).Tag of
0 : {Traitement bouton 1};
1 : {Traitement bouton 2};
2 : {Traitement bouton 3};
3 : {Traitement bouton 4};
end;
end;

En utilisant cette propriété, tu facilites le traitement par une instruction Case, toujours plus efficace qu'un tas de If et que des comparaisons de chaines.

<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
<
Commenter la réponse de cs_Delphiprog
Folders 2 Messages postés lundi 14 juin 2004Date d'inscription 15 mai 2005 Dernière intervention - 15 mai 2005 à 18:40
0
Merci
Merci beaucoup, c'est exactement se que je voulais savoir.

Bonne prog. Folders
Commenter la réponse de Folders

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.