Memory en vb6, probléme d'affichage dans les picturebox au chargement de la fram

grand_dragon_rouge54 Messages postés 23 Date d'inscription dimanche 30 avril 2006 Statut Membre Dernière intervention 14 octobre 2006 - 2 mai 2006 à 11:55
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Derniè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:

6 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
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

CR
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
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)
0
mongol77 Messages postés 75 Date d'inscription dimanche 2 octobre 2005 Statut Membre Dernière intervention 24 juin 2007
2 mai 2006 à 13:33
ce que dit creneau est juste , mais si tu veux quand même l'utiliser dans ton form load , utilise form1.refresh
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
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]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
2 mai 2006 à 17:23
Si elle est efficace (je pense que c'est le cas !), la solution de NHenry es tla meilleure
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 mai 2006 à 17:34
woups, en effet j'ai dit une conner** ... paintpicture peut même être fait par une pic invisible
0
Rejoignez-nous