dd92 | Bonjour, J'ai visiblement un soucis lié au Device quand j'imprime une liste ... La sortie dans un PDF est tout a fait correcte mais si je selectionne l'imprimante la taille des caractères du titre et le cadre déssinés sont démesurés !!! Comment faire face à ce Pb ? La proc de test est toute simple est la suivante
Code :
- void Imprimer (HWND hwnd, HDC hdcprint, int nb_mvt, int nb_selected, OPERATION *mvt)
- {
- TEXTMETRIC tm;
- RECT rc;
- LOGFONT lf;
- LOGPEN lp;
- POINT pt;
- static HPEN stylo;
- static HFONT font1;
- static short cxChar, cyChar;
- static xPage, yPage;
- char szBuffer[100];
- char temp[10];
- GetTextMetrics (hdcprint, &tm);
- cxChar = tm.tmAveCharWidth;
- cyChar = tm.tmHeight + tm.tmExternalLeading;
- xPage = GetDeviceCaps (hdcprint, HORZRES);
- yPage = GetDeviceCaps (hdcprint, VERTRES);
-
- rc.left = 2*cxChar;
- rc.right = xPage - rc.left;
- rc.top = cyChar;
- rc.bottom = yPage-cyChar;
- if (nb_selected == 1) {
- StartPage (hdcprint);
- stylo = CreatePen(PS_SOLID, 5, RGB(255,0,0));
- SelectObject (hdcprint, stylo);
- Rectangle(hdcprint, rc.left, rc.top, rc.right, rc.bottom);
- DeleteObject (stylo);
- font1=CreateFont(30,0,0,0,700, FALSE,FALSE,FALSE,0,OUT_DEFAULT_PRECIS,
- CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH | FF_DONTCARE,
- "Comic Sans MS" );
- SelectObject (hdcprint, font1);
- SetTextColor (hdcprint, RGB(0, 0, 255));
- SetBkMode (hdcprint, TRANSPARENT);
- strcpy(szBuffer, "Test d'Edition des Mouvements" );
- rc.top = 2*cyChar;
- DrawText(hdcprint,szBuffer,strlen(szBuffer),&rc,DT_CENTER);
- DeleteObject (font1);
- MoveToEx (hdcprint, rc.left, rc.top+(3*cyChar), NULL);
- LineTo (hdcprint, rc.right, rc.top+(3*cyChar));
- }
- if (nb_selected == nb_mvt)
- EndPage (hdcprint);
- }
|
Merci d'avance. |