c2millet
Messages postés198Date d'inscriptionlundi 2 juin 2003StatutMembreDernière intervention15 février 2005
-
10 déc. 2003 à 13:28
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 2006
-
11 déc. 2003 à 16:03
J'ai créé un projet SDI en CViewForm. ET maintenant je voudrais imprimer et avoir l'aperçu du formulaire que j'ai à l'écran. J'ai vu quil y a la fonction OnPrint dans ma class View mais je ne sais pas ce quil faut mettre dedans.
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 11 déc. 2003 à 16:03
Dans OnPrint, du dessine comme dans OnDraw. Cependant, les unités nes ont pas les mêmes (dans OnDraw tu bosses en pixel dans OnPrint en point). Enfin, il y a la résolution de l'impression. Pour faire du WYSIWYG (ce que tu voit est ce que tu obtient), passe en mode TWIPS :
pDC->SetMapMode(MM_TWIPS);
(1 TWIP 1/20 points 1/1440 inch = 1/57 mm)
!!! sens négatif pour y vers le bas point (0,0) en haut à gauche !!!
quelques dimension utiles :
// récupération dimension d'une page (en TWIPS, 1 inch = 1440 twips)
// HORZRES : nombre de pixels par page selon la largeur
// VERTRES : nombre de pixels par page selon la hauteur
// LOGPIXELSX : nombre de pixels par inch selon la largeur
// LOGPIXELSY : nombre de pixels par inch selon la hauteur
int cx = 1440 * GetDeviceCaps(hDC, HORZRES) / GetDeviceCaps(hDC, LOGPIXELSX);
int cy = 1440 * GetDeviceCaps(hDC, VERTRES) / GetDeviceCaps(hDC, LOGPIXELSY);