VB6 - Ordre Superposition PictureBox

Airel35 Messages postés 16 Date d'inscription mercredi 16 avril 2008 Statut Membre Dernière intervention 13 février 2009 - 26 sept. 2008 à 21:48
Airel35 Messages postés 16 Date d'inscription mercredi 16 avril 2008 Statut Membre Dernière intervention 13 février 2009 - 2 oct. 2008 à 09:18
Bonjour,
J'ai un léger problème en VB6 et je fais appel à vos connaissances.

J'expose :

J'ai un form où il y à des PictureBox à des endroits fixes, j'ai également plusieurs
autres PictureBox qui sont mobiles. Le problème est lorsqu'une de ces PictureBox mobiles vient se positionner au même endroit qu'une fixe, j'aimerai que ce soit elle qui soit visible à l'écran. Pour le moment, elle se "glisse" sous l'autre image et n'est donc pas visible.

Suis-je passé à coté d'une propriété simple de la PictureBox ? D'un "PictureOrder" ?

Merci d'avance.

9 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
26 sept. 2008 à 21:58
Bonjour,



Zorder est le premier maître-mot



Ton aide en ligne ouverte sur ce mot en gras est le second, sans aucun doute !
0
Airel35 Messages postés 16 Date d'inscription mercredi 16 avril 2008 Statut Membre Dernière intervention 13 février 2009
26 sept. 2008 à 22:18
Merci pour ta réponse mais elle ne m'avance guère malheureusement.

Sinon, je vais changer les données (et pas qu'un peu) puisqu'en fait le composant que je veux placer au premier plan n'est pas une PictureBox mais une Image.

Donc, comment placer une Image devant une PictureBox ?
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
26 sept. 2008 à 22:37
1) il faut apprendre à être précis d'emblée pour éviter des "conversations"...


2) il n'est pas possible de placer un contrôle image devant une PictureBox de manière "naturelle".
Il est par contre possible de placer un contrôle Frame devant (par le Zorder) une pictureBox  ===>> Un truc alors : mettre ton contrôle image dans un Frame et donner le Zorder au Frame...
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
26 sept. 2008 à 22:39
Un autre truc ? Mettre ton contrôle Image dans le container que constitue par ailleurs ta PictureBox
0

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

Posez votre question
Airel35 Messages postés 16 Date d'inscription mercredi 16 avril 2008 Statut Membre Dernière intervention 13 février 2009
26 sept. 2008 à 23:09
Merci pour ces réponses.

Elles pourraient fonctionner mais malheureusement ce que je veux faire n'est pas de cacher ma PictureBox par mon Image. L'image doit apportée un détail sur la PictureBox

Exemple : La PictureBox représente un carré vert et par moment je veux faire apparaitre un point rouge (contenu dans mon image) sur ce carré.

Les deux solutions ne sont donc pas appropriées puisqu'elles consistent à cacher ou remplacer la PictureBox.

Rq : Pourquoi avoir choisi un composant Image et non PictureBox ? Tout simplement parce que au delà du point choisi en exemple, c'est une Image transparente que je dois manipuler et je ne sais pas gérer les images transparentes avec le composant PictureBox.

Bref, Vb6 ou comment rendre une chose simple irréalisable et détruire un projet de plusieurs semaines par la même occasion...
J'espère réellement trouver une solution.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
26 sept. 2008 à 23:16
Mais....
Il n'y a AUCUN problème !!!!!
Je réitère ce que j'ai dit plus haut !!!
Tu peux même rendre ton contrôle image visible ou non quand tu le veux et utiliser Move pour le placer où tu veux quand tu le veux ... et y compris changer l'image du contrôle image quand tu le veux ... !
Cà, alors ... !
0
Airel35 Messages postés 16 Date d'inscription mercredi 16 avril 2008 Statut Membre Dernière intervention 13 février 2009
26 sept. 2008 à 23:30
Ok, j'ai donc mal compris.
J'expose ce que j'ai compris :

Il
est par contre possible de placer un contrôle Frame devant (par le
Zorder) une pictureBox  ===>> Un truc alors : mettre ton contrôle
image dans un Frame et donner le Zorder au Frame...

En mettant un Frame devant une pictureBox, on voit toujours la pictureBox ?
J'ai un doute.

Un autre truc ? Mettre ton contrôle Image dans le container que constitue par ailleurs ta PictureBox

En d'autres mots, remplacer l'image originale de la PictureBox par celle de mon contrôle Image ?
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
26 sept. 2008 à 23:38
Mettre ton contrôle Image dans</gras>container que constitue par ailleurs ta PictureBox
Me parait très clair..

Bonne nuit.
0
Airel35 Messages postés 16 Date d'inscription mercredi 16 avril 2008 Statut Membre Dernière intervention 13 février 2009
2 oct. 2008 à 09:18
Re-bonjour,

Après de multiples essais et tentatives en tous genre, il me semble que la solution proposée avec le container de la PictureBox pourrait être la bonne.

Donc après avoir un peu étudié cette propriété que je ne connaissais pas (d'où ma réponse stupide...), je me retrouve de nouveau en face d'un problème :

Sur mon Form, j'ai en tout 15 lignes de 22 PictureBox. Pour que mon Form puisse supporter autant de composants, j'utilise un Control Array de la façon suivante :

Nom_de_PictureBox = "image" & ligne & (index)
Exemple : La 15è PictureBox de la 3ème ligne aura le nom suivant : image3(15)

Maintenant, avec la solution de mettre une Image dans le container de chaque PictureBox, il faut encore créer un Control Array pour ces images. Jusque là, pas de problème.

Cela se gatte lorsque je veux charger une image sur un Controle Image d'une PictureBox au hasard.
Exemple, je veux charger une image dans le Controle Image contenu dans le 15è PictureBox de la 3ème ligne :

Let Me.image3(15).Container("ctrlimg3(15)").Picture = LoadPicture (Dossier & Fichier)

Mais cela ne fonctionne pas, quelqu'un a t-il une solution ?
Merci d'avance.
0
Rejoignez-nous