(re-)Bonjour,
la semaine commence mal :
à gauche le mode design où l'on voit bien en gris moyen un TPanel classique posé sur le gris clair du fond de fiche (les deux bandes clCream sont des TPanels, respectivement alTop et alBottom, r-à-s) ;
au milieu en exécution le TPanel est passé Align:=alClient, tel que le montre le code à droite.
Mais le gag c'est les 2 TEdit en bas qui affichent la hauteur du TPanel avant puis après l'alignement et on voit bien que si le TPanel a bien graphiquement réagi à la demande d'alignement, le second TEdit affiche une valeur fausse, malgré deux demandes de mise à jour.
Une autre à la place des deux, Form1.Update;, a le même comportement inefficace.
Que faire pour qu'un code aussi simple daigne tomber en marche ?
Parce que j'ai besoin de la vraie hauteur du TPanel pour y poser ensuite des choses et les y aligner correctement.
Question subsidiaire : comment un comportement aussi farfelu est-il possible ?
Le gag, c'est que si je rajoute ça :
la valeur est bonne !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 procedure TForm1.FormActivate(Sender: TObject); begin Caption:=inttostr(pnlContainer.Height);
Mais ça ne m'arrange pas du tout de passer la création des composants dans FormActivate…
Une idée ?
Merci,
Partager