J'expérimente l'affichage des bitmaps dans une application Windows, j'ai vu qu'il fallait créer un HBITMAP que l'on initalisait avec la fonction LoadImage.
Mais j'ai aussi remarqué que le HBITMAP était détruit après son utilisation, du moins comme je l'utilise:
HDC hdc;
HDC hdcSrc;
PAINTSTRUCT ps;
HBITMAP hbm;
hbm = (HBITMAP)LoadImage(NULL, szFile, IMAGE_BITMAP, Width, Height, LR_LOADFROMFILE | LR_CREATEDIBSECTION);
hdcSrc = CreateCompatibleDC(hdcDest);
hdc = BeginPaint(hWnd, &ps);
SelectObject(hdcSrc, hbm);
BitBlt(hdcDest, destx, desty, Width, Height, hdcSrc, srcx, srcy, SRCCOPY);
EndPaint(hWnd, &ps);
Mais dans mon application j'utilise une class qui a une fonction pour afficher un bitmap, le problème c'est que je voulais stocker un HBITMAP initialisé lors de la création d'un objet de ma class, mais comme le HBITMAP est détruit après un affichage ça m'embete un peu.
Pour le moment je recharge simplement le bitmap dès que je veux l'afficher, mais ne connaissez-vous pas un moyen de laisser le bitmap en mémoire et de le réutiliser sans le recharger depuis le disque dur?