Petite question sur les boutons

Résolu
Utilisateur anonyme - 27 oct. 2005 à 10:10
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 - 27 oct. 2005 à 16:32
Voila mon ptit problème :

Je souhaite faire une procédure

Procedure maprocedure;

begin

si le bouton20 de la form 5 a été cliqué alors

begin

Pour "si le bouton20 de la form 5 a été cliqué alors" que dois je mettre ???

8 réponses

jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
27 oct. 2005 à 13:50
utilise le tag du bouton.

dans le onclick du bouton:

procedure TForm5.Button20Click(Sender: TObject);

begin
tag:= 1;

end ;

procedure TForm1.maproc;

begin
if form5.Button20.tag =1 then
begin
end;

form5.Button20.tag:=0;// reset du tag pour action suivante

end;
3
vaughan Messages postés 198 Date d'inscription mardi 6 août 2002 Statut Membre Dernière intervention 29 octobre 2008
27 oct. 2005 à 10:14
Je crois ne pas comprendre. Tu veux simplement si un utilisateur click sur le bouton20 de ta form5 effectuer une action.

Alors il te suffit de coder la procédure
procedure TForm5.Button20Click(Sender: TObject);

vaughan
0
Utilisateur anonyme
27 oct. 2005 à 12:04
Merci Vaughan mais ca je sais quand meme faire

Je veux réaliser une procédure

Procedure maprocedure;

begin

si le bouton20 de la form 5 a été cliqué alors
{// a ne pas mettre
begin

instruction
end;
end;
end.
}//a ne pas mettre

Je veux pouvoir acceder au second begin si et seulement si le bouton20 de la fomr 5 a été cliqué.

De plus cette procédure sera écrite et "utilisée" dans la form1 et non la form5.
0
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
27 oct. 2005 à 13:03
utilise une action (place une actiolist sur la form1)

et tu fais:

procedure TForm1.Action1Execute(Sender: TObject);

begin
if sender=form5.Button20 then
begin
end;

end;

bonne prog
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
27 oct. 2005 à 13:36
Non merci jlen, lis bien ce que j'ai écris : je fais ma procedure donc il n'y a pas que ca. Je veux pas en plus appeler une fonction ou une autre procédure pour ca.

Je voudrais un truc comme un checked ou un truc ou il ya soit true soit false
0
Utilisateur anonyme
27 oct. 2005 à 13:43
Autant pour moi ej viens de me rendre comet que j'en avais pas besoin en fait mdrrrrrrrrrrrr
0
vaughan Messages postés 198 Date d'inscription mardi 6 août 2002 Statut Membre Dernière intervention 29 octobre 2008
27 oct. 2005 à 13:47
Je pense que ce n'est pas claire vu de l'exterieur, déjà pour moi et JLEN100. Et il sera dure de te proposer une soluce.


Tu veux effectuer une action sur ta form1 (par une procédure) si le bouton de ta form5 est appuyer.

Passe donc par un message windows. Dans ton bouton5 tu fais un postmessage et dans ta form1 tu reccuppère le message window envoyé pour traitement.

vaughan
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
27 oct. 2005 à 16:32
"Je voudrais un truc comme un checked ou un truc ou il ya soit true soit false"



alors utilise un CheckBox ... ^^

ou alors créer une classe heritée de TButton,

ajoute lui :



XTButton = class(TButton)

private

XTBClicked : boolean;

protected

procedure OnClick(Sender : TObject); override;

public

constructor Create(AOwner: TComponent); override;

procedure ResetClick;

published

property IsClicked : Boolean read XTBClicked write XTBClicked default False;

end;



implementation



procedure Register;

begin

RegisterComponents('Standard', [XTButton]);

end;



constructor XTButton.Create(AOwner: TComponent);

begin

inherited;

end;



procedure XTButton.OnClick(Sender : TObject);

begin

XTBClicked := NOT XTBClicked;

end;



procedure XTButton.ResetClick;

begin

XTBClicked := false;

end;



voila j'espere que ça t'aideras... (ps : y'a peut etre des erreurs ... a verifier)
0
Rejoignez-nous