c2millet
Messages postés198Date d'inscriptionlundi 2 juin 2003StatutMembreDernière intervention15 février 2005
-
12 déc. 2003 à 10:37
c2millet
Messages postés198Date d'inscriptionlundi 2 juin 2003StatutMembreDernière intervention15 février 2005
-
12 déc. 2003 à 12:12
Hello
Voilà mon pb: je suis une jeune recrue du C++ qui a créé un projet avec une CFormView. Je veux imprimer ce que j'ai à l'écran. Mais ce que j'ai fait ne fonctionne pas. Si qqun peut me dire pkoi
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 12 déc. 2003 à 11:37
Je ne sais pas si tu as vu la réponse que j'avais mis sur ton précédent message. Mais en mode MM_TWIPS, les coordonnées selon y sont négatives vers le bas et le coin en haut à gauche a pour coordonnées (0,0). C'est vrai qu'n général on peut imprimer en appelant OnDraw mais dans la plupart des cas, il faut écrire une nouvelle fonction (la résolution d'un écran n'est pas la même que sur une imprimante) et faire des tests de base.
Au fait, c'est quoi que tu dois imprimer (du texte, une image, un graphique...)
c2millet
Messages postés198Date d'inscriptionlundi 2 juin 2003StatutMembreDernière intervention15 février 2005 12 déc. 2003 à 11:49
Salut g bien lu ton message d'hier, d'ailleur merci.
Mais, je comprend pas vraiment le principe pour imprimer.
En fait g créé un projet avec une CformView sous un projet SDI ou g plusieur graphiques affiché à l'écran. Et je voudrais en avoir l'apercu et les imprimer.
Cmill
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 12 déc. 2003 à 12:08
OK, donc normalement, MFC gère automatiquement l'aperçu avant impression et l'impression avec l'apel à la même fonction OnPrint.
En fait pour imprimer, tu dessine simplement dans le DC qu'on te fourni (pDC) en utilisant les même fonction que pour dessiner à l'écran.
En utilisant le mode MM_TWIPS (c'est ce que j'ai lu dans le bouquin "Visual C++ 6" de "le Tout en poche" pour 10 euros), tu peut controler la taille réelle de ton dessin (en pouce ou en mm)
Pour dessiner tes graphique, je pense qu'il va falloir les redessiner en fonction de la taille d'une page :
int cx = 1440 * pDC->GetDeviceCaps(HORZRES) / pDC->GetDeviceCaps(LOGPIXELSX);
int cy = 1440 * pDC->GetDeviceCaps(VERTRES) / pDC->GetDeviceCaps(LOGPIXELSY);
Ex pour tracer un cadre autour de la page :
pDC->Rectangle(0, 0, cx, -cy);