jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 9 janv. 2007 à 15:09
Tu ne peux le faire comme tu le ferais au sein de la même form...
Il te faudarit donc ;
1) créer dynamiquement une picturebox picture1 dans ta Form2
2) lui donner les dimentions de la picturebox de picture1 de ta Form1
3) pour chaque contrôle de la picturebox picture1 de ta form1
- créer dynamiquement un contrôle de même type et lui donner toutes les propriétés du contrôle correspondant de ta picture1 de ta form1 et lui donner comme container la picture1 de ta Form2
mJuJu
Messages postés56Date d'inscriptionjeudi 20 octobre 2005StatutMembreDernière intervention27 mai 2014 9 janv. 2007 à 15:56
C'est une solution et j'y ai déjà pensé. C'est un peu lourd mais ça marche. L'idée étant de créer un aperçu, j'ai recherché une solution plus simple. SUR UNE MEME FORM, j'ai créé une deuxième picturebox éventuellement de taille différente, et en utilisant l'API stretchblt, je suis arrivé à copier tous les contrôles de la 1ère picturebox dans la 2ème. Quand je veux faire ça sur une autre Form, ça ne marche plus. J'ai vérifié les propriétés autoredraw, j'ai fait des refresh, rien n'y fait. Peut-être y a-t-il un problème avec les pointeurs Hdc.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Djedj
Messages postés17Date d'inscriptionsamedi 9 décembre 2000StatutMembreDernière intervention 6 mai 2007 9 janv. 2007 à 16:22
Attention aux API ***Blt : les Width et Height passés en paramètres sont en pixels! Si tu utilises les propriétés ScaleWidth et ScaleHeight de tes picturebox ou form comme valeurs, vérifie que leurs propriétés ScaleMode sont bien sur 3 - Pixel...
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 9 janv. 2007 à 18:31
1) Tu ne peux faire une création dynamique de type "indexé" que sur la même Form (je te l'ai dit)
2) ta copie de picturebox ne marcheras que si :
a) tu as bien fixé sa propriété aytoredraw = True
b) tu fais suivre l'utilisation de ta strechBlt par un
Picture.Picture = Picture1.Image
avant de dire que :
Form2.Picture1.Picture = Picture1.Picture
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 9 janv. 2007 à 18:35
Et n'aoublie pas, dans ta Form2, de mettre également la propriété Autoredraw de la picturebix qui s"y trouve à True elle aussi (sinon l'image disparaitra de la vue au changement de Form)
TMONOD
Messages postés256Date d'inscriptionmardi 25 novembre 2003StatutMembreDernière intervention 6 novembre 20091 10 janv. 2007 à 12:31
Ah oui, c'est VB6 je me fais avoir à chaque fois !!!
(Non pas que l'on ne puisse pas faire la même chose avec .Net mais c'est complétement inutile).
Jcbé[^]