Bonjour,
je suis confronté à un soucis assez embêtant. J'ai une application MFC (type document vues) en C++ qui a pour principe de représenter des circuits hydrauliques.
Le plan de travail à imprimer est composé de texte, d'éléments spécifiques à MFC (traits faisant office de liaisons) et de bitmaps (les composants).
Le soucis, c'est que lors de l'impression (ou de l'aperçu avant impression) la résolution ne convient pas. En effet, la taille de la police est convenable, mais les caractères sont rapprochés et se superposent. Aussi, les bitmaps et les liaisons sont réduit à une taille exagérée rendant l'identification des composants impossible.
De plus, lors de l'aperçu, l'ensemble de mon plan de travail (1600x1200 pixels) se situe dans le coin supérieur gauche de la page et occupe moins d'un quart de celle-ci.
Voici le code que j'utilise :
D'autres fonctions sont gérées automatiquement par MFC (OnPreparePrinting(...) et OnEndPrinting(...)).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 void OnBeginPrinting(CDC *pDC, CPrintInfo* pInfo) { pInfo.m_rectDraw.SetRect(0,0, dc.GetDeviceCaps(HORZRES), dc.GetDeviceCaps(VERTRES)); pDC->DLtoLP(&pInfo->m_rectDraw); POINT ptmargins; pDC->Escape(GETPRINTINGOFFSET, 0, NULL, &ptmargins); CScrollView::OnBeginPrinting(pDC, pInfo); }
Auriez-vous des solutions ?
Si oui, lesquelles ?
Merci d'avance à tous ceux et toutes celles qui répondront
Partager