Copier une PictureBox dans le presse-papier

Résolu
Arnal88 Messages postés 96 Date d'inscription samedi 21 octobre 2006 Statut Membre Dernière intervention 25 avril 2009 - 12 nov. 2006 à 17:26
Arnal88 Messages postés 96 Date d'inscription samedi 21 octobre 2006 Statut Membre Dernière intervention 25 avril 2009 - 12 nov. 2006 à 20:00
Bonjour,
Je développe actuellement un oscilloscope sur PC.
J'aimerais pouvoir faire une copie de l'écran de mon oscillo dans le presse-papier Windows, mais je n'y parviens pas :
l'écran de l'oscillo est une picturebox sur laquelle est tracée la courbe, mais la picturebox contient également des objets "shape" pour dessiner les axes...
J'utilise :
   Clipboard.Clear
   Clipboard.SetData PictureBox1.Image
mais cette méthode ne copie que la courbe, et pas les axes qui sont également contenus dans la picturebox !!
Comment faire pour copier l'intégralité de la picturebox, à la manière d'un "imprimer-écran" ?
Merci pour votre aide...

2 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
12 nov. 2006 à 18:03
Il n'est pas astucieux d'utiliser des shapes pour les axes, si tu veux ensuite avoir la possibilité de mettre l'ensemble dans le presse-papier.
Il vaut mieux utiliser la méthode Line qui, elle, dessine réellement dans ta pictureBox..

Ceci étant dit, si tu tiens absolument à garder tes axes sous forme de shapes, il te faudra alors, en effet, faire une copie de la portion d'écran correspondant au rectangle de ta PictureBox (calculs à faire), puis envoyer dans ton presse-papier l'image de cette portion d'écran. Tout celà est bien évidemment possible mais plutôt scabreux et, surtout, ne respectera pas les dimensions réelles de ta picturebox, leur substituant celles de l'affichage (plutôt facheux notamment si, pour des raisons quelconques, on a redimensionné l'affichage seul, la véritable image (à ses dimensions normales, donc) se trouvant dans une pictureBox "miroir" non affichée.

Rien ne t'empêche enfin, si tu tiens tant que celà à tes shapes, de rendre ces dernières invisibles un  instant et de leur substituer, pendant ce même instant, des Lines réelles (tu peux toujours, si tu souhaites ensuite revenir à l'image ans les Lines, utiliser une seconde picturebox en tremplin, soit pour y travailler, soit popur restituer l'images sans les lines). Le tout me parait relever beaucoup plus de la construction de la pensée que de la syntaxe VB.
3
Arnal88 Messages postés 96 Date d'inscription samedi 21 octobre 2006 Statut Membre Dernière intervention 25 avril 2009
12 nov. 2006 à 20:00
Merci pour ta réponse.
Premièrement, je tiens absolument à mes shapes, car ils sont indépendants de l'affichage de la courbe. Je n'ai pas à les retracer constamment lorsque j'efface l'écran pour tracer une autre courbe...
Mais tu as totalement raison, c'est tiré par les cheveux que de faire un imprimer-écran et de conserver une partie de l'image.
Je vais donc tracer les axes directement dans la picturebox (avec l'instruction line) juste avant de copier dans le presse-papier.
Cela dit, j'aurais dû y penser avant...
0
Rejoignez-nous