में निहित है क्या तुम सच में एक CBitmap की जरूरत नहीं है, लेकिन केवल एक इस संभाल उपयोग कर सकते हैं आपके लिए उपयोगी हो सकता है
या यदि आप एचबीआईटीएमएपी से सीबीआईटीएपी प्राप्त कर सकते हैं तो यह फ़ंक्शन देता है यह भी अच्छा है।
मैं इसे वाणिज्यिक अनुप्रयोग पर उपयोग करता हूं और यह काम करता है।
// Based on afxbutton.cpp's static function ButtonLoadBitmap
HBITMAP __stdcall ButtonLoadBitmap(UINT uiBmpResId)
{
if (uiBmpResId == 0)
{
return NULL;
}
LPCTSTR lpszResourceName = MAKEINTRESOURCE(uiBmpResId);
ENSURE(lpszResourceName != NULL);
HBITMAP hbmp = NULL;
// Try to load PNG image first:
CPngImage pngImage;
if (pngImage.Load(lpszResourceName))
{
hbmp = (HBITMAP) pngImage.Detach();
}
else
{
HINSTANCE hinstRes = AfxFindResourceHandle(lpszResourceName, RT_BITMAP);
if (hinstRes == NULL)
{
return NULL;
}
UINT uiLoadImageFlags = LR_CREATEDIBSECTION | LR_LOADMAP3DCOLORS;
hbmp = (HBITMAP) ::LoadImage(hinstRes, lpszResourceName, IMAGE_BITMAP, 0, 0, uiLoadImageFlags);
}
return hbmp;
}
क्या LoadFromResource में या अटैच में त्रुटि है? एक डेवलपर के लिए – dwo