.rc文件下添加资源的相关信息如下
FINGER PNG "Res\\Finger.png"
加载的时候采用如下方式:
LoadResImage(_T("FINGER"), m_pImageFinger);
函数如下:
void CSpeedBar::LoadResImage(TCHAR *pszResID,Image * &lpImage) { HMODULE hModule=AfxGetInstanceHandle(); HRSRC hRsrc = ::FindResource (hModule, pszResID,_T("PNG")); // type if (!hRsrc) return; // load resource into memory DWORD len = SizeofResource(hModule, hRsrc); BYTE* lpRsrc = (BYTE*)LoadResource(hModule, hRsrc); if (!lpRsrc) return; // Allocate global memory on which to create stream HGLOBAL m_hMem = GlobalAlloc(GMEM_FIXED, len); BYTE* pmem = (BYTE*)GlobalLock(m_hMem); memcpy(pmem,lpRsrc,len); IStream* pstm; CreateStreamOnHGlobal(m_hMem,FALSE,&pstm); // load from stream lpImage=Gdiplus::Image::FromStream(pstm); // free/release stuff GlobalUnlock(m_hMem); pstm->Release(); FreeResource(lpRsrc); }