cs_Jean_Jean
Messages postés615Date d'inscriptiondimanche 13 août 2006StatutMembreDernière intervention13 décembre 2018
-
20 mai 2013 à 09:35
cs_Jean_Jean
Messages postés615Date d'inscriptiondimanche 13 août 2006StatutMembreDernière intervention13 décembre 2018
-
24 mai 2013 à 16:10
Bonjour,
J'écrit un composant et j'ai besoin d'identifier son composant Parent au moment ou je le dépose quelque part.
Déclaration du composant:
type
TQuest = class(TCustomControl)
Private
...
_ParentCtrl : TComponentName;
public
...
Constructor Create(AOwner: TComponent);override;
...
End;
Pour Dimensionner correctement le composant au moment de l'exécution (au moment du dépot il a une surface par défaut de 200 x 300), j'identifie le composant dès le create:
1. Est-ce l'affectation de Parent := est correcte?
Si je fais showmessage(inttostr(Parent.Width)), il ne semble pas me donner la bonne largeur du composant parent;
2. Je récupère bien le nom du Parent dans
_ParentCtrl, mais j'ai utilisé un indice 0 arbitraire. Est-ce ça sera toujours vrai? A priori mon composant ne peux avoir qu'un seul parent, il est donc à l'indice zéro?
cs_Jean_Jean
Messages postés615Date d'inscriptiondimanche 13 août 2006StatutMembreDernière intervention13 décembre 20183 24 mai 2013 à 15:18
yes!
@ cantador
c'est parce qu'entre pirates, on se reconnait et qu'il aime bien lorsque je lui raconte des histoires à pas s'endormir!
@Cari
Bah, c'est pas que c'est secret-défense, mais faut que je remette les boulons en ordre de bataille !
Chaque fois que vous me répondez une ligne, vous m?en faites réécrire 100. Comme je programme en dotted time, tu vois le tableau !
Alors maintenant, j'écris presque tout ce que je fais sous forme de notes Tutoriales, sinon, je ne sais plus dans quel ordre, je boulonne. Je pourrai ainsi en faire profiter les delphistes éternellement débutants comme moi.
C'est mon premier compo ! alors ça boulonne dur ! je boulonne sur les déclenchements d'évènements des compos puisqu'il me faut identifier maintenant quel évènement je dois utiliser ou écrire lorsque je change une propriété affectant le format de ma présentation. Pour les autres propriétés simples, ça marche : couleurs, épaisseurs traits...
Par exemple, le changement dans ma propriété ZoomState doit-elle déclencher un évènement de type simple NotifyEvènement ou un évènement spécifique du genre WM_NewFormat ?
Au début, j'afficha une page par défaut à 10% de sa taille réelle. Mais le programmeur comme l'utilisateur final qui change la propriété ZoomState à zsPageWidth doit mettre à jour immédiatement ou pendant l'exécution le format sur la largeur de son Parent.
Messieurs, canonniers, rabattaient vos pièces avant que Cari le Guetteur ne vous lâche dans la fosse et vous brise vos certitudes!
le Tir est vous!
cs_Jean_Jean
Messages postés615Date d'inscriptiondimanche 13 août 2006StatutMembreDernière intervention13 décembre 20183 24 mai 2013 à 16:10
@Cirec!
Oui, ce code je l'ai écrit déjà.
Mais c'est pour ça qu'il faut que remette de l'ordre dans mon code je crois que c'est une question d'odre d'criture dans mes fonctions diverses intermédiaires que ça pêche.
J'en suis déjà à 1500 lignes!
il semble donc que le Invalidate suffise pour l'instant alors!... Bon à suivre!