Bonjour,
J’utilise pour la premire fois les “containerControl”
Pour faire simple:
j’ai cr un “containerControl” dans lequel j’ai mis un “textfield”
Dans ma fentre j’ai un “canvas” (scrollingCanvas) dans lequel les diffrentes instances de mon “containerControl” viennent se loger.
Pour cela j’utilise une boucle “for”:
[code]for i=0 to count
dim ctn as new myContainerControl // nouvelle instance
myContainers.Append(ctn)
ctn.EmbedWithin( scrollingCanvas, 0 , newOffset )
next[/code]
tout fonctionne, mais je voudrais que la proprit “text” du “textfield” soit modifie la vole chaque nouvelle instance cre.
Comment on accde aux proprits des “control” inclus dans le container?
Merci d’avance
dim ctn as new myContainerControl // nouvelle instance
myContainers.Append(ctn)
ctn.EmbedWithin( scrollingCanvas, 0 , newOffset )
myContainers(i).Textfield.Text = “lorem ipsum” // utilise le nom du textfield si ce n’est pas TextField
next [/code]
a devrait fonctionner. Je suppose que tu voudras mettre la logique ncessaire pour avoir le texte appropri dans chaque textfield.
Merci Louis pour la rponse rapide!
Voil le code un peu plus complet + la modif que tu as suggr
[code]for i=0 to count
dim ctn as new myContainerControl
myContainers.Append(ctn)
dim offset as integer=myContainers.ubound*ctn.Height
ctn.EmbedWithin( scrollingCanvas, 0 , offset )
myContainers(i).myColorNameFieldclass1.text = colorName(i)
next[/code]
j’ai une erreur la compil:
“Cette mthode ou proprit n’existe pas”: myContainers(i).myColorNameFieldclass1.text = colorName(i)
Bon j’utilise une ancienne version de RealBasic, mme pas XOJO. Peut tre ceci explique cela…
Bon j’ai trouv une solution de dpannage:
Je recupre “i” en debut de boucle je le colle dans une variable dans mon module:
[code]dim i,count as integer
count=materialCount-1
for i=0 to count
Module1.countID=i //<--------
dim ctn as new myContainerControl
myContainers.Append(ctn)
dim offset as integer=myContainers.ubound*ctn.Height
ctn.EmbedWithin( scrollingCanvas, 0 , offset )
VerticalScrollBar.Maximum=offset
next[/code]
et je modifie la prioprit “text” dans l’event “open” de la classe du textfield :
event handler open:
me.text = Module1.colorName(Module1.countID)
priori a fonctionne, mais a fait pas trs propre…
Si il y a plus simple ou plus direct, je suis preneur.
J’ai une autre question
Dans le mme “container” j’ai aussi un petit “canvas” et une “checkbox”.
Quand je scroll le canvas qui contient les container, les “textfield” et les “canvas” disparaissent au del des limites du canvas parent sauf les “checkbox” qui passent par dessus et continuent scroller dans la fentre… Un bug des anciennes versions de realBasic?
(la checkbox est bien l’intrieur des limites du container)