Impression d'un controle [Résolu]

MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 30 janv. 2005 à 13:53 - Dernière réponse : MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention
- 30 janv. 2005 à 17:00
Bonjour a tous,



J'ai dans un Panel 2 Control persos. Et j'aimerais imprimer ces 2
Control l'un a coté de l'autre, ou alors ce qu'il y a dans le Panel (ce
qui reviendrait au meme).

Quelqu'un sait comment je peut faire pour imprimer le "contenu" d'un
objet Control ? Comment envoyer l'objet Graphics du Control vers
l'imprimante ?



Merci

Mx
Afficher la suite 

Votre réponse

5 réponses

cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 30 janv. 2005 à 15:33
+3
Utile
Bon alors j'ai bien une manip pour récupérer une image : /library/en-us/gdi/pantdraw_3qwk.asp WM_PRINT

Exemple :
Bitmap bmp = new Bitmap(panel.Width, panel.Height);

Graphics bmpGraphics = Graphics.FromImage(bmp);
IntPtr bmpHdc = bmpGraphics.GetHdc();

Message msg = new Message();
msg.Msg = WM_PRINT;
msg.HWnd = panel.Handle;
msg.WParam = bmpHdc;
msg.LParam = new IntPtr(PRF_NONCLIENT | PRF_CLIENT | PRF_ERASEBKGND | PRF_CHILDREN | PRF_OWNED);
this.WndProc(ref msg);

bmpGraphics.ReleaseHdc(bmpHdc);
bmpGraphics.Dispose();

et tu n'as plus qu'a te servir du Bitmap :-)
Tu auras peut etre a jouer sur les parametres PRF_* suivant ce que tu veux.

Cocoricoooooooo !!!!
coq
MVP Visual C#
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_coq
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 30 janv. 2005 à 16:26
+3
Utile
Arf désolé j'ai oublier lol :

private int WM_PRINT = 0x0317;

private int PRF_CHECKVISIBLE = 0x00000001;
private int PRF_NONCLIENT = 0x00000002;
private int PRF_CLIENT = 0x00000004;
private int PRF_ERASEBKGND = 0x00000008;
private int PRF_CHILDREN = 0x00000010;
private int PRF_OWNED = 0x00000020;

On trouve ces valeurs dans les fichiers .h du PlatformSDK, en l'occurence ici :
"Header: Declared in Winuser.h"

Cocoricoooooooo !!!!
coq
MVP Visual C#
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_coq
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 30 janv. 2005 à 16:22
0
Utile
Merci coq.

J'ai essayé, mais il me jette avec le WM_PRINT (il faut le déclarer ? avec quelle valeur ? Un espace de nom spécifique ?)

J'ai cherché mais je dois pas regarder ou il faut.


Mx
Commenter la réponse de MorpionMx
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 30 janv. 2005 à 16:28
0
Utile
Merci coq, je regarde ca !



Si ca marche, tu m'auras sauvé la vie 2 fois ce week end ^^

Mx
Commenter la réponse de MorpionMx
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 30 janv. 2005 à 17:00
0
Utile
Rien a dire, c'est impec.


T'es vraiment un animal impressionant ! Vraiment, chapeau pour toutes tes connaissances !



Mx
Commenter la réponse de MorpionMx

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.