cs_torsepoilu
Messages postés3Date d'inscriptiondimanche 18 mai 2003StatutMembreDernière intervention25 mars 2004
-
25 mars 2004 à 21:17
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 2006
-
25 mars 2004 à 23:17
bonjour, depuis un moment je parcours tous les sites internet et je modifie mon code en consequence, mais cela ne marche toujours pas.
voici le code :
VOID DoPaint(HWND hwnd)
{
// dxCard et dyCard sont des variables globales
PAINTSTRUCT ps;
HDC hdc;
HDC hMemDC;
HBITMAP off;
int dwWidth, dwHeight;
RECT rTemp;
BeginPaint(hwnd, &ps);
// dimension de la zone client
dwWidth = GetDeviceCaps(hdc, HORZRES);
dwHeight = GetDeviceCaps(hdc, VERTRES);
// copie de hdc
BitBlt(hdc, //hdc destination
0, //pos x en haut a gauche pour hdc destination
0, //pos y en haut a gauche pour hdc destination
dwWidth, //largeur
dwHeight, //hauteur
hMemDC, //hdc source
0, //pos x en haut a gauche pour hdc source
0, //pos y en haut a gauche pour hdc source
SRCCOPY); //tag de copy
DeleteDC(hMemDC);
EndPaint(hwnd, &ps);
}
drawEdge ne veut pas s'afficher pourtant si je remplace hMemDC par hdc dans la fonction, il s'affiche
te donne la taille de l'écran pas de la zone cliente
c'est GetClientRect() qu'il faut appeler pour savoir la zone où dessiner
ensuite fait directement
hdc = BeginPaint(hWnd, &ps);
sauvegarde également l'ancine bitmap de hMemDC :
HBITMAP hOldBmp = (HBITMAP) SelectObject(hMemDC, off);
et remet le à la fin avant de détruire hmemdc:
SelectObject(hMemDC, hOldBmp);
DeleteDC(hmemDc);
DeleteObject(off);
sinon si les pb persistent, essayent de tracer une simple ligne vers des coordonnées faible (pour être sûr quelle seront visible) pour voir si BitBlt marche.