Memory en vb6, probléme d'affichage dans les picturebox au chargement de la fram
grand_dragon_rouge54
Messages postés23Date d'inscriptiondimanche 30 avril 2006StatutMembreDernière intervention14 octobre 2006
-
2 mai 2006 à 11:55
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
2 mai 2006 à 17:34
Voilà.
Je dois réaliser un memory en vb6 (Pour ceux qui ne s'en souvienne pas, on retourne deux cartes à la suite et il faut retrouver des paires).
Mes images sont stockées dans des contrôles Image hors de la zone visible. Elle représentent le groupe ImgOiseaux. (Ben oui j'ai mis des oiseaux,... ;-) ).
Mes images sont donc automatiquement nommées ImgOiseaux(0), ImgOiseaux(1), ImgOiseaux(2), ImgOiseaux(3), ImgOiseaux(4) et ImgOiseaux(5).
Pour le plateau de jeu, j'ai douze picturebox composant le groupe PicJeu. Elles sont donc automatiquement nommées PicJeu(0), PicJeu(1), PicJeu(2), PicJeu(3), PicJeu(4), PicJeu(5)............... et PicJeu(11).
J'envoie mes images du groupe ImgOiseaux vers les picturebox du groupe PicJeu. Pour cela, j'utilise la methode PaintPicture de l'objet Picturebox. (Merci DARKSIDIUS).
Cela donne ceci :
PicJeu(0).PaintPicture ImgOiseaux(0).Picture, 0, 0, PicJeu(0).Width, PicJeu(0).Height
Le but est que l'image ImgOiseaux(0) aille dans la picturebox PicJeu(0) en se mettant aux dimensions de cette dernière.
J'ai testé cela sur le clic d'un bouton :
Private Sub Command1_Click()
PicJeu(1).PaintPicture ImgOiseaux(1).Picture, 0, 0, PicJeu(1).Width, PicJeu(1).Height
End Sub
Ca fonctionne.
Par contre, lorsque je fais la même chose au démarage de la Frame de jeu, nommée FrmJeu, le programme ne plante pas mais rien ne se passe et ma picturebox reste désespérément vide.
Private Sub Form_Load()
PicJeu(0).PaintPicture ImgOiseaux(0).Picture, 0, 0, PicJeu(0).Width, PicJeu(0).Height
End Sub
Je m'occuperais de l'incrémentation d'une variable afin de faire s'afficher toutes les images par la suite.
Mon problème actuellement est donc de faire s'afficher l'iamge Img(0) dans la picturebox PicJeu(0) au démarrage de la Frame FrmJeu.
Quelqu'un à une idée ? C'est assez urgent. Merci.
Dragon.
Que le VB soit avec vous...
A voir également:
Memory en vb6, probléme d'affichage dans les picturebox au chargement de la fram
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 2 mai 2006 à 13:07
Places ton code dans l'EVT Activate de ta Form, et non pas l'EVT Load.
en effet, la form est affiché à l'écran à la fin de l'EVT Load, et donc, si tu dessines sur ta form dans cet EVT et bien cela disparait à l'affichage. L'EVT Activate, lui, se produit juste après le dessin de la form. Cela devrait donc convenir
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 2 mai 2006 à 13:13
Bonjour
Met la prop "Autoredraw" de ton pictbox à true.
Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 2 mai 2006 à 13:57
salut,
mongol77 -> pas de refresh dans le Form_Load, le paint doit être fait quand la Form est visible.
donc soit à l'Activate comme le dit CRenaud, soit un Me.Show dans le Load avant le remplissage.
++
PCPT [AFCK]
Vous n’avez pas trouvé la réponse que vous recherchez ?