di zello » 05/02/03 13:51
Sono senza documentazione adesso (e BitBlt ha un *fiume* di argomenti), quindi te la tratteggio a lunghe linee:
- da qualche parte nel programma crei un HDC in memoria, compatibile con lo schermo, usando CreateCompatibleDC(NULL);
- nella stessa parte carichi dalle risorse (LoadBitmap, LoadImage) o crei dal nulla (CreateCompatibleBitmap) la bitmap
- associ la bitmap al DC in memoria con SelectObject, salvando ciò che ti ritorna la funzione.
- in WM_PAINT, semplicemente trasferisci con BitBlt il contenuto del DC in memoria nel DC ottenuto da BeginPaint (qualcosa tipo BitBlt(hDC,x,y,width,height,hDCInMemoria,0,0,SRCCOPY); )
- prima di uscire dal programma, deselezioni la bitmap riselezionando la bitmap precedente (valore di ritorno della SelectObject), la distruggi (DeleteObject), distruggi l'HDC in memoria (DeleteDC)
Il faut être toujours ivre. Tout est là : c'est l'unique question. Pour ne pas sentir l'horrible fardeau du Temps qui brise vos épaules et vous penche vers la terre,il faut vous enivrer sans trêve...