je crée dynamiquement un ensemble d'objets champs de saisie sur une fiche et je voudrais pouvoir en selectionner un par son nom par exemple et modifier ses propriétés.
comment puis je pointer sur cet objet de facon simple:
peut etre par le handle ?
je crée dynamiquement un ensemble d'objets champs de saisie sur une fiche et je voudrais pouvoir en selectionner un par son nom par exemple et modifier ses propriétés.
comment puis je pointer sur cet objet de facon simple:
peut etre par le handle ?
Bonjour,
Tu pourrais essayer quelque chose de ce genre:
Tu peux te baser que sur le nom, tu peux faire un "case of" (sur le "i" le case of sinon Delphi va râler) pour en traiter plusieurs...Il y a mille méthodes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Var i:Integer; Begin For i:=0 to MyForm.componentcount-1 do begin If (MyForm.components[i].classtype=Tedit) and (Myform.components[i].name='lenom') then begin //traitement ici, c'est le bon composant end else // traitement si c'est pas le bon au cas où... end;
Cordialement,
hauwke
...ou par son nom !
Par ex pour 1 TEdit
Code : Sélectionner tout - Visualiser dans une fenêtre à part TEdit(FindComponent('MonEdit')).Text:='contenu';
merci pour votre aide ... en fait je souhaiterai y accéder en cliquant dessus à la souris (sans connaitre son nom...). J'ai essayer avec un pointeur sur l'objet(sender) mais ca ne marche plus en dehors de la procédure de l'evennement OnMouseDown de mon objet dynamique.
pour résumé plus clairement:
comment puis je recupérer l'identifiant de l'objet label sur lequel je clique ? ( que ce soit un objet label ou autre)
et comment via cet identifiant puis-je accèder aux propiétés de ce dernier ? (sans utiliser les evennements de cet objet label)
ok ca fonctionne avec findcomponent en mettant le numero du composant dans le tag et en appelant l'objet 'label'+numero de composant
merci
salut
pourquoi utiliser le tag ?
le sender te permet de retrouver le nom
@+ Phil
Code : Sélectionner tout - Visualiser dans une fenêtre à part (Sender as TLabel) .name
Partager