IMAGE DE FOND (BMP) DANS UNE FORM [DEVC++]

Nikoscian Messages postés 13 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 11 février 2005 - 2 oct. 2003 à 19:08
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 30 déc. 2006 à 16:33
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/16811-image-de-fond-bmp-dans-une-form-devc

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
30 déc. 2006 à 16:33
LoadImage() est à faire hors de WM_PAINT pour ne pas utiliser trop la cpu.
Il manque ici le DeleteObject sinon saturation de la mémoire.
sebastienmz Messages postés 139 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 23 juin 2008
30 déc. 2006 à 14:44
jessaye de faire marcher ton code mais ça marche pas sous dev-cpp
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
9 juil. 2004 à 14:46
Nikoscian Messages postés 13 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 11 février 2005
2 oct. 2003 à 19:08
Si,si il est pas mal. Mais j'ai trouvé sur un tutoriel API (je n'arrive plus à me rappeler du site) une fonction encore plus simple qui affiche le bitmap (directement à partir d'un fichier) dans la fenêtre passée en paramètre:
void PrintBmp(HWND hWnd, char *filename)
{
HBITMAP hBmp;
HDC hDC;
hBmp=(HBITMAP)LoadImage(NULL,filename,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
hDC=GetDC(hWnd);
DrawState(hDC,NULL,NULL,(LPARAM)hBmp,0,0,0,0,0,DST_BITMAP);
DeleteObject(hBmp);
ReleaseDC(hWnd,hDC);
}
On peut éventuellement la modifier pour lui faire charger un bitmap depuis une .DLL où un .EXE mais il faudra charger le module spécifié avec LoadLibrary puis trouver la ressource avec FindResource
Rejoignez-nous