Owner

Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 - 15 avril 2006 à 20:03
cs_shining Messages postés 304 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 10 mars 2012 - 16 avril 2006 à 17:45
salut à tous.


Est-il possible de changer le "owner" d'un composant à la conception?


Sinon comment fait-on en mode runtime?


Un exemple de la méthode "SetSubComponent" serait peut-être bienvenue
...


Merci

6 réponses

Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
16 avril 2006 à 13:43
Pour ceux que ça intéresse, j'ai trouvé une solution : c'est de créer les compos dynamiquement.
Mais je pense qu'il doit exister d'autres méthodes...
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
16 avril 2006 à 15:06
pourrait tu etre plus explicite ?

mais sinon oui, il faut créer le composant dynamiquement pour en changer le Owner ...

mais je ne vois pas trop l'interet de faire cela car la plupart du temps on ecrit : compo := TCompo.create(self);
... pourrais tu expliquer dans quel but tu cherche a faire cela ?
0
cs_shining Messages postés 304 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 10 mars 2012
16 avril 2006 à 15:27
non mais il se fiche de moi ce browser tous mes propos sont partis à la
poubelle
bon tanpis je vais à l'essentiel !!

j'explique que la seconde méthode vite fait !!!

pour changer le parent qu'un composant visuel il n'est pas possible depuis l'inspecteur d'objet néanmoins une méthode simple consiste à :

1) On clique que le composant cible(l'enfant)
2) Ctrl + X (Action Couper)
3) On clique sur le nouveau parent
4) Ctrl + V (Action Coller)

dans le cas où il y aurait de nombeux enfants à déplacés !!!

5) Ctrl + Selection(avec la souris)
6) refaire les étapes 2 à 4

en espérant avoir été clair !!!
0
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
16 avril 2006 à 16:18
--->
fOxi


Le but de la manip est de pouvoir sauvegarder un TPanel avec tous ses composants gr
â
ce
à
:


WriteComponentResFile


et de le charger grâ
ce
à
:


ReadComponentResFile


Mais, pour ce faire, il faut que le TPanel soit le "owner" de ses compos "enfants"...


D'où, je dois faire, en mode dynamique :


compo := TCompo.Create(pnl_MonPanelConteneur);


Ca fonctionne, mais j'aurais bien voulu é
viter tout le code de cr
é
ation dynamique, quoi...


---> shining


C'é
tait clair, mais h
é
las
ç
a ne change pas le "owner" qui reste toujours la Form...
Ca ne change que le parent.


Mais j'aimerais bien un truc du mê
me genre pour changer le "owner"... ;)
0

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

Posez votre question
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
16 avril 2006 à 16:54
Je viens d'avoir une idée! Je crée une deuxième fiche avec les compos que je veux sauvergarder, et je sauvegarde cette form2...
Je vais y arriver! lol
0
cs_shining Messages postés 304 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 10 mars 2012
16 avril 2006 à 17:45
Bah désolé pour ma réponse ta question n'était pas très clair non plus :p

lorqu'on met SetSubComponent(True) , on ajoute csSubComponent dans ComponentStyle et inversement SetSubComponent(False) retire csSubComponent du ComponentStyle

SetSubComponent(True) indique à Delphi qu'il faut inclure tous les sous composants lors d'un enregistrement un flux ou fichier !!! celà nécessite de mettre en visibilité publiée tous les composants qu'on désire enregistrer
je te conseil de lire cette discution sur ce même sujet :
http://qc.borland.com/wc/qcmain.aspx?d=1732
0
Rejoignez-nous