Bonjour a tous
J'ai déjà poser une cette question la semaine dernière et on ma
répondu. La question etait:
J'ai des contrôles picture que je rajoute dynamiquement. Il y en a
sept qui son indexer. J'ai créé une procédure qui serai commune au sept,
seul le nom du contrôle change. Alors:
If ActionAjoutLigne = lcLigneFichierItems Then
FondCrochet (tabItems(1, NbrLigneTabItem))
MonControleImage.Picture = LoadPicture(CheminTypeFond)
MonControleImage.Tag = EpicerieTag
MonControleImage.Visible = True
Else
FondCrochet 0
MonControleImage.Picture = LoadPicture(CheminTypeFond)
MonControleImage.Tag = "OFF"
MonControleImage.Visible = True
End If
End Sub
Comme la variable MonControleImage contient le nom du contrôle et son
index, comment écrire MonControleImage(NbrLigneTabItem -1).Top pour que
sa fonctionne.
On ma proposer d'écrire:
Private Sub AjoutLigneImage(MonControleImage As PictureBox)
dim Num as integer
num = MonControleImage.ubound +1
load MonControleImage(num)
MonControleImage(num).top = MonControleImage(num-1).height
MonControleImage(num).visible = true
end sub
Sa ne fonctionne toujours pas car MonControleImage contient l'index du
picturBox, donc num = MonControleImage.ubound +1 est une propriétée qui
n'existe pas.
Quelqu'un peux-il s.v.p. m'expliquer se que je ne comprent pas.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Ledev
"Raymond Fournier" a écrit dans le message de news:
Bonjour a tous J'ai déjà poser une cette question la semaine dernière et on ma répondu. La question etait:
J'ai des contrôles picture que je rajoute dynamiquement. Il y en a sept qui son indexer. J'ai créé une procédure qui serai commune au sept, seul le nom du contrôle change. Alors:
If ActionAjoutLigne = lcLigneFichierItems Then FondCrochet (tabItems(1, NbrLigneTabItem)) MonControleImage.Picture = LoadPicture(CheminTypeFond) MonControleImage.Tag = EpicerieTag MonControleImage.Visible = True Else FondCrochet 0 MonControleImage.Picture = LoadPicture(CheminTypeFond) MonControleImage.Tag = "OFF" MonControleImage.Visible = True End If
End Sub
Comme la variable MonControleImage contient le nom du contrôle et son index, comment écrire MonControleImage(NbrLigneTabItem -1).Top pour que sa fonctionne.
On ma proposer d'écrire:
Private Sub AjoutLigneImage(MonControleImage As PictureBox)
Là une petite réctification, ce n'est pas MonControleImage as PictureBox mais as Object, car se n'est pas un PictureBox qu'il faut lui transmettres mais bien la collection:
Quand vous l'appellez, ne mettez pas: AjoutLigneImage picturebox(xx) mais: AjoutLigneImage PictureBox
dim Num as integer num = MonControleImage.ubound +1
Num prend la propriété ubound+1, comme vous dites(qui n'éxiste alors pas)
load MonControleImage(num)
La il charge ce controle qui n'éxistait pas, donc a partir de là il existe
Et la, il donne a la propriété top, la valeur du contrôle crée par l'appel précédent(voir par le contrôle initiale si c'est le 1er appelle) sa propriété Height. Par contre vous avez oublier le +MonControleImage(num-1).top: MonControleImage(num).top MonControleImage(num-1).height+MonControleImage(num-1).top
Ainsi, le nouveau contrôle ira se placer en dessous l'ancien.
MonControleImage(num).visible = true
Et le rend visible
end sub
Sa ne fonctionne toujours pas car MonControleImage contient l'index du picturBox, donc num = MonControleImage.ubound +1 est une propriétée qui n'existe pas.
Je pense vous avoir dit tous se que vous deviez corriger, si sa ne marche toujours pas, n'hésiter pas a+
Quelqu'un peux-il s.v.p. m'expliquer se que je ne comprent pas.
Merci. Raymond Fournier
"Raymond Fournier" <duracelle@sympatico.ca> a écrit dans le message de
news:MPG.19832cbeb2890b199896ac@news1.qc.sympatico.ca...
Bonjour a tous
J'ai déjà poser une cette question la semaine dernière et on ma
répondu. La question etait:
J'ai des contrôles picture que je rajoute dynamiquement. Il y en a
sept qui son indexer. J'ai créé une procédure qui serai commune au sept,
seul le nom du contrôle change. Alors:
If ActionAjoutLigne = lcLigneFichierItems Then
FondCrochet (tabItems(1, NbrLigneTabItem))
MonControleImage.Picture = LoadPicture(CheminTypeFond)
MonControleImage.Tag = EpicerieTag
MonControleImage.Visible = True
Else
FondCrochet 0
MonControleImage.Picture = LoadPicture(CheminTypeFond)
MonControleImage.Tag = "OFF"
MonControleImage.Visible = True
End If
End Sub
Comme la variable MonControleImage contient le nom du contrôle et son
index, comment écrire MonControleImage(NbrLigneTabItem -1).Top pour que
sa fonctionne.
On ma proposer d'écrire:
Private Sub AjoutLigneImage(MonControleImage As PictureBox)
Là une petite réctification, ce n'est pas MonControleImage as PictureBox
mais as Object, car se n'est pas un PictureBox qu'il faut lui transmettres
mais bien la collection:
Quand vous l'appellez, ne mettez pas:
AjoutLigneImage picturebox(xx)
mais:
AjoutLigneImage PictureBox
dim Num as integer
num = MonControleImage.ubound +1
Num prend la propriété ubound+1, comme vous dites(qui n'éxiste alors pas)
load MonControleImage(num)
La il charge ce controle qui n'éxistait pas, donc a partir de là il existe
Et la, il donne a la propriété top, la valeur du contrôle crée par l'appel
précédent(voir par le contrôle initiale si c'est le 1er appelle) sa
propriété Height. Par contre vous avez oublier le
+MonControleImage(num-1).top:
MonControleImage(num).top MonControleImage(num-1).height+MonControleImage(num-1).top
Ainsi, le nouveau contrôle ira se placer en dessous l'ancien.
MonControleImage(num).visible = true
Et le rend visible
end sub
Sa ne fonctionne toujours pas car MonControleImage contient l'index du
picturBox, donc num = MonControleImage.ubound +1 est une propriétée qui
n'existe pas.
Je pense vous avoir dit tous se que vous deviez corriger, si sa ne marche
toujours pas, n'hésiter pas
a+
Quelqu'un peux-il s.v.p. m'expliquer se que je ne comprent pas.
"Raymond Fournier" a écrit dans le message de news:
Bonjour a tous J'ai déjà poser une cette question la semaine dernière et on ma répondu. La question etait:
J'ai des contrôles picture que je rajoute dynamiquement. Il y en a sept qui son indexer. J'ai créé une procédure qui serai commune au sept, seul le nom du contrôle change. Alors:
If ActionAjoutLigne = lcLigneFichierItems Then FondCrochet (tabItems(1, NbrLigneTabItem)) MonControleImage.Picture = LoadPicture(CheminTypeFond) MonControleImage.Tag = EpicerieTag MonControleImage.Visible = True Else FondCrochet 0 MonControleImage.Picture = LoadPicture(CheminTypeFond) MonControleImage.Tag = "OFF" MonControleImage.Visible = True End If
End Sub
Comme la variable MonControleImage contient le nom du contrôle et son index, comment écrire MonControleImage(NbrLigneTabItem -1).Top pour que sa fonctionne.
On ma proposer d'écrire:
Private Sub AjoutLigneImage(MonControleImage As PictureBox)
Là une petite réctification, ce n'est pas MonControleImage as PictureBox mais as Object, car se n'est pas un PictureBox qu'il faut lui transmettres mais bien la collection:
Quand vous l'appellez, ne mettez pas: AjoutLigneImage picturebox(xx) mais: AjoutLigneImage PictureBox
dim Num as integer num = MonControleImage.ubound +1
Num prend la propriété ubound+1, comme vous dites(qui n'éxiste alors pas)
load MonControleImage(num)
La il charge ce controle qui n'éxistait pas, donc a partir de là il existe
Et la, il donne a la propriété top, la valeur du contrôle crée par l'appel précédent(voir par le contrôle initiale si c'est le 1er appelle) sa propriété Height. Par contre vous avez oublier le +MonControleImage(num-1).top: MonControleImage(num).top MonControleImage(num-1).height+MonControleImage(num-1).top
Ainsi, le nouveau contrôle ira se placer en dessous l'ancien.
MonControleImage(num).visible = true
Et le rend visible
end sub
Sa ne fonctionne toujours pas car MonControleImage contient l'index du picturBox, donc num = MonControleImage.ubound +1 est une propriétée qui n'existe pas.
Je pense vous avoir dit tous se que vous deviez corriger, si sa ne marche toujours pas, n'hésiter pas a+
Quelqu'un peux-il s.v.p. m'expliquer se que je ne comprent pas.