Modifier des propriétés d'objets visuels créés dynamiquement
Bonjour,
je créé dynamiquement un certain nombre de TMemo dans une ScrollBox, et tout se passe bien.
Ensuite je veux changer la taille du texte, par exemple, et je fais comme ça sur l'événement OnCloseUp d'un comboBox :
Code:
1 2 3
| for i := 0 to compteur2memos -1 do
if (sb4memos.Controls[i] is TMemo) then
(sb4memos.Controls[i] as TMemo).Font.Size := StrToInt(ComboSize.Text); |
Mais je ne vois rien changer. :aie:
À l'heure actuelle et pour simplifier le troubleshooting, je ne crée qu'un seul TMemo donc les trois lignes ci-dessus ne devraient pas se faire des nœuds, et pourtant, il doit bien y avoir une embrouille quelque part...
Au tout début, j'avais commencé avec une procédure dédiée (parce qu'il y a d'autres paramètres à adapter), mais on dirait que le TMemo que je passe à la proc n'est pas transmis, c'est en tout cas ce que je peux constater en pas-à-pas :
Code:
1 2 3 4
| procedure TForm1.AdapteHauteurMemo(FontName: string; Sender: TObject);
begin
if FontName = '' then FontName := (Sender as TMemo).Font.Name; // passe un memo de base, on dirait (font Arial)
end; |
L'appel :
Code:
1 2 3
| for i := 0 to compteur2memos -1 do
if (sb4memos.Controls[i] is TMemo) then
AdapteHauteurMemo((sb4memos.Controls[i] as TMemo).Font.Name, sb4memos.Controls[i]); |
J'en suis là et j'y tourne en rond. :calim2:
Merci pour vos pistes,