我在一個函數中插入了CImageList中的位圖,並需要稍後在另一個函數中更改某些圖像。但我無法提取CBitmap。代碼是這樣的:從CImageList中獲取CBitmap
CBitmap GetIndividualBitmap(CImageList oImgList, int nBmpNo)
{
IMAGEINFO imgInfo;
imagelist.GetImageInfo(index,imgInfo);
CBitmap bmp;
bmp.FromHandle(imgInfo.hbmImage);
return bmp;
}
但是我得到的只是一個黑屏。任何人都可以請指出我要去哪裏錯了?
我知道。但我試圖找出我的代碼有什麼問題。 – 2010-01-20 13:18:50
根據HBITMAP返回的第一個鏈接是整個原始位圖 - 您需要選擇它的圖像部分,它是您想要的圖像,位於imgInfo.rcImage;我無法準確地告訴你爲什麼你的當前位圖在渲染時全是黑色的 - 但我會猜測它不是屏幕直接兼容的位圖。因此,這兩個鏈接的例子中的代碼只是將您需要的部分複製到兼容的位圖中。 – Ruddy 2010-01-20 15:20:54