Problème d'impression Windows XP/Lexmark avec StretchBlt
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:
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