Bonjour,
Je voudrais savoir comment recuperer les noms de tous les objets(boutons,options de menus) de tous les form de mon application et agir sur leur visibilité deja au demarrage de l'application.
Merci
Bonjour,
Je voudrais savoir comment recuperer les noms de tous les objets(boutons,options de menus) de tous les form de mon application et agir sur leur visibilité deja au demarrage de l'application.
Merci
ca ressemble à de la gestion de droits
Pour trouver tous les composants d'une forme il faut agir avec
Pour la liste des fenêtres, à froid je sais plus, mais il y a des méthodes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Form.Components[ x ] et Form.Componentcount
Et puis ca dépend si tu les alloues dynamiquement (mieux), ou si tu joues seulement avec la visibilité.
Si c'est dynamique, il te faut répertorier la liste des fen. dans une liste qq part.
bon courage![]()
Bonjour,
Pour récupérer les objets, il faut partir de la variable "Application" et en déduire tout l'arbre de composants qui en dépend.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 // pour obtenir les composants fils de ComposantPere et leur nom var composantFils : Tcomponent ; for i:=0 to ComposantPere.ComponentsCount-1 do begin composantFils:=ComposantPere.components[i]; showmessage(composantFils.Name); //Pour rendre le composant visible/invisible if ... then composantFils.visible:=true else composantFils.visible:=false; end ;
Bjr,
Effectivement c'est la gestion des droits ms j'ai comme l'impression que ma question n'a pas ete claire vu vos reponses car en fait je veux parcourir tous les objets de mon application hormis les forms et agir sur leur visibilité.
Je crois que Graffito approchait la solution ms ds son code je ne vois rien qui fait reference a Application et j'ai comme l'impression qu'il prend les forms un à un et parcourt les composants hors ds mon cas je veux ignorer les forms et s'attaquer aux objets de toute l'application(boutons et options de menus juste)
Merci
Bonjour,
Supposons une appli avec 4 formes avec chacune 5 panels contenant 6 boutons, pour accéder au bouton 3 du panel 2 de la forme 1 :
A ma connaissance, il n'y a pas d'autre solution que de faire un parcours d'arbre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ComposantX:=Application.components[1-1].components[2-1].components[3-1] ;
Pour eliminer les form, il faut simplement tester le type des composants fils de application
Code : Sélectionner tout - Visualiser dans une fenêtre à part if Application.components[i-1] is Tform ...
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