Deux possibilités "propres" : un Map (tableau associatif) permettant d'assigner un nom ou une valeur quelconque (sauf entier 64 bits) à chaque contrôle, donc avec un fonctionnement proche de ASSIGN, ou un simple tableau 4x4 où l'on place les identificateurs.
Les variables Map ne sont disponibles que sous la beta, mais depuis le temps qu'elle est beta et qu'il n'y a pas de problème signalé on peut la considrer comme solide.
Recréer les labels sans détruire les anciens provoquerait une fuite mémoire à terme, donc à proscrire.
Code : Tout sélectionner
Local $aLabelList = [ _
"Pot au feu", _
"Chilli con carne", _
"Charlotte aux pommes", _
"Avocat aux crevettes", _
"Poulet grillé", _
"Lasagnes", _
"Salade de fruits", _
"Crêpe suzette", _
"Homard grillé", _
"Salade de tomates", _
"Purée maison", _
"Pomme flambée", _
"Melon au Porto", _
"Assiete de charcuterie", _
"Sole meunière", _
"Osso buco" _
]
; version tableau 4x4
Local $aLabelId[4][4]
; ...
For $i = 0 To 3
For $j = 0 To 3
$aLabelId[$i][$j] = GUICtrlCreateLabel($aLabelList[4 * $i + $j], 100 + $j * 40, 35 + $i * 15, 15, 15)
Next
Next
; ...
GUICtrlSetData($aLabelId[1][3], "Nouveau libellé")
; version Map
Local $mLabel[]
; ...
For $i = 0 To 3
For $j = 0 To 3
$mLabel[$aLabelList[4 * $i + $j]] = GUICtrlCreateLabel($aLabelList[4 * $i + $j], 100 + $j * 40, 35 + $i * 15, 15, 15)
Next
Next
; ...
GUICtrlSetData($mLabel["Crêpe suzette"], "Nouveau libellé")
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.