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 :


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();
 
 
}
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.

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