0/5 (4 avis)
Snippet vu 6 328 fois - Téléchargée 29 fois
1/ Dans Edit Ressources File: Image1 BITMAP "D:/Programme/Cpp/KDo[W32]/os1.bmp" 2/ Dans votre code: 2-1/ La bibliotheque : #include <windows.h> 2-2/ Déclarer vos variables: PAINTSTRUCT ps; RECT rect; HGLOBAL hgbl; HDC hdc, hdc2; HINSTANCE hinst; HBITMAP hbmp; 2-3/ Affichage de l'image: [...] LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_PAINT: hbmp=(HBITMAP)LoadImage(hinst,"Image1", IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION); // va chercher l'image hdc = BeginPaint( hwnd, &ps ); GetClientRect(hwnd,&rect); hdc2 = CreateCompatibleDC(hdc); SelectObject(hdc2, hbmp); StretchBlt(hdc,0,0,260,270,hdc2,0,0,260,270, SRCCOPY); // incorpore l'image dans la form DeleteDC(hdc2); EndPaint( hwnd, &ps ); break; [...] }
30 déc. 2006 à 16:33
Il manque ici le DeleteObject sinon saturation de la mémoire.
30 déc. 2006 à 14:44
9 juil. 2004 à 14:46
2 oct. 2003 à 19:08
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
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.