J'ai inséré des bitmaps dans CImageList dans une fonction et j'ai dû modifier certaines images plus tard dans une autre fonction. Mais je suis incapable d'extraire le CBitmap. Le code va quelque chose comme ceci:Récupération de CBitmap avec CImageList
CBitmap GetIndividualBitmap(CImageList oImgList, int nBmpNo)
{
IMAGEINFO imgInfo;
imagelist.GetImageInfo(index,imgInfo);
CBitmap bmp;
bmp.FromHandle(imgInfo.hbmImage);
return bmp;
}
Cependant tout ce que je reçois est un écran noir. Quelqu'un pourrait-il me dire où je me trompe?
je sais. Mais j'essaie de savoir ce qui ne va pas avec mon code. –
Selon le premier lien, le HBITMAP retourné est le bitmap d'origine entier - vous devez sélectionner la partie de celui-ci qui est l'image que vous voulez, qui est dans le imgInfo.rcImage; Je ne peux pas vous dire exactement pourquoi votre bitmap actuel est tout noir lorsqu'il est rendu - mais je vais deviner que c'est son bitmap compatible avec l'écran. D'où le code dans les deux exemples de lien de la façon de copier uniquement la section dont vous avez besoin dans un bitmap compatible. – Ruddy