J'ai utilisé cette fonction (copier/coller) pour charger une bitmap dont l'identificateur est 1111 dans le fichier .RC selon
1111 Bitmap graying.bmp (<= nom du BMP)
En C (16 bits et 32 aussi), j'utilise
HRSRC resource;
resource = FindResource(hInst, MAKEINTRESOURCE(1111), RT_BITMAP);
if (resource != NULL)
{
LOGBRUSH br;
br.lbStyle = BS_DIBPATTERN;
br.lbColor = 0;
br.lbHatch = (int)LoadResource(hInst, resource);
LockResource((HANDLE)br.lbHatch);
DialogBrush = CreateBrushIndirect(&br);
#ifndef __FLAT__
UnlockResource((HANDLE)br.lbHatch);
#endif
FreeResource((HANDLE)br.lbHatch);
}
Le but final était de griser le fond d'une boîte de dialogue hookée (Ouvrir fichier) avec cette bitmap pour faire joli. J'avais trouvé l'exemple ailleurs ( ).
en global, on a
HBRUSH DialogBrush; /* background brush for dialogs */
et quand le programme quitte, on libère la mémoire par
if (GrayBrush) DeleteObject(GrayBrush);