自动判断并加载图片(先从资源后从文件) HBITMAP hBmp = (HBITMAP)::LoadImage( AfxGetInstanceHandle(),
lpszResourceName, IMAGE_BITMAP, 0,0, LR_CREATEDIBSECTION ); if( hBmp == NULL )
{
//added by gameboy...
hBmp = (HBITMAP)::LoadImage( AfxGetInstanceHandle(),
lpszResourceName, IMAGE_BITMAP, 0,0, LR_CREATEDIBSECTION | LR_LOADFROMFILE); if( hBmp == NULL)
return FALSE;
} m_bitmap.Attach( hBmp );
lpszResourceName, IMAGE_BITMAP, 0,0, LR_CREATEDIBSECTION ); if( hBmp == NULL )
{
//added by gameboy...
hBmp = (HBITMAP)::LoadImage( AfxGetInstanceHandle(),
lpszResourceName, IMAGE_BITMAP, 0,0, LR_CREATEDIBSECTION | LR_LOADFROMFILE); if( hBmp == NULL)
return FALSE;
} m_bitmap.Attach( hBmp );
资源是编译到文件中的,好象不行
BOOL LoadBitmaps( LPCTSTR lpszBitmapResource, LPCTSTR lpszBitmapResourceSel = NULL, LPCTSTR lpszBitmapResourceFocus = NULL, LPCTSTR lpszBitmapResourceDisabled = NULL );BOOL LoadBitmaps( UINT nIDBitmapResource, UINT nIDBitmapResourceSel = 0, UINT nIDBitmapResourceFocus = 0, UINT nIDBitmapResourceDisabled = 0 );由msdn可知LoadBitmaps接受磁盘文件路径的参数
再派生个CMyPicButton,实际也不麻烦。
设计时设为bitmap风格,
初始化的时候用cbutton::SetBitmap(hBitmap)就可以的。我用过能实现你需要的效果。