Bonjour,
Je rencontre actuellement un problème que je n'arrive pas à résoudre.
Lors de l'impression d'un dossier, j'utilise la fonction StretchBlt pour imprimer des images s'y trouvant. Celà ne pose aucun soucis avec toutes les imprimantes sous Windows 98/2000 par contre, lorsque je suis sous windows XP, je rencontre une erreur avec les imprimantes Lexmark (et uniquement ces imprimantes)
voici le code que j'ai :
J'ai essayé pas mal de choses mais rien n'y fait...je n'arrive pas a comprendre pourquoi et ou se trouve le problème. C'est assez urgent et il est important que ce programme fonctionne ave n'importe quelle imprimante, Lexmark compris.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 void CThumbnail::Print(CDC *pDC) { CDC SecondDC; int oldMapMode = pDC->SetMapMode( MM_TEXT ); pDC->GetSafeHdc(); SecondDC.CreateCompatibleDC( NULL ); CBitmap *oldBM = SecondDC.SelectObject( &Bmp ); pDC->SetStretchBltMode(COLORONCOLOR ); if( !pDC->StretchBlt( VOPos.x, VOPos.y,Size.cx, Size.cy, &SecondDC, 0, 0, VOSize.cx, VOSize.cy, SRCCOPY ) ) { throw( xUnknown("Erreur StretchBlt") ); } pDC->SetMapMode( oldMapMode ); SecondDC.SelectObject( oldBM ); SecondDC.DeleteDC(); }
Quelqu'un a-t-il rencontré ce problème? Y a-t-il quelque chose que j'oublie?
D'avance, je vous remercie pour vos réponses
Partager