我想在一个窗口中贴上一个BMP的图片,运行下面程序,出来一个错误:
在LoadImage语句上有
error C2440: '=' : cannot convert from 'void *' to 'struct HBITMAP__ *'
Conversion from 'void*' to pointer to non-'void' requires anexplicit cast不知是哪里出错,请大家指教。
static HINSTANCE hInst;
static HBITMAP hBitmap ;
static int cxClient, cyClient ;
BITMAP bitmap ;
HDC hdc, hdcMem ;
PAINTSTRUCT ps ;
LPCTSTR lpszName="control9.BMP";
switch (uMsg)
{case WM_CREATE:
hInst = ((LPCREATESTRUCT)lParam)->hInstance;
case WM_SIZE:
cxClient = LOWORD (lParam) ;
cyClient = HIWORD (lParam) ;
return 0 ;
case WM_USER3:
if (hBitmap)
{
DeleteObject (hBitmap) ;
hBitmap = NULL ;
}
hBitmap=LoadImage(hInst, lpszName,IMAGE_BITMAP, cxClient, cyClient,LR_LOADFROMFILE|LR_MONOCHROME);
InvalidateRect(hWnd, NULL, TRUE);
break; }
在LoadImage语句上有
error C2440: '=' : cannot convert from 'void *' to 'struct HBITMAP__ *'
Conversion from 'void*' to pointer to non-'void' requires anexplicit cast不知是哪里出错,请大家指教。
static HINSTANCE hInst;
static HBITMAP hBitmap ;
static int cxClient, cyClient ;
BITMAP bitmap ;
HDC hdc, hdcMem ;
PAINTSTRUCT ps ;
LPCTSTR lpszName="control9.BMP";
switch (uMsg)
{case WM_CREATE:
hInst = ((LPCREATESTRUCT)lParam)->hInstance;
case WM_SIZE:
cxClient = LOWORD (lParam) ;
cyClient = HIWORD (lParam) ;
return 0 ;
case WM_USER3:
if (hBitmap)
{
DeleteObject (hBitmap) ;
hBitmap = NULL ;
}
hBitmap=LoadImage(hInst, lpszName,IMAGE_BITMAP, cxClient, cyClient,LR_LOADFROMFILE|LR_MONOCHROME);
InvalidateRect(hWnd, NULL, TRUE);
break; }
hBitmap=(HBITMAP)LoadImage(hInst, lpszName,IMAGE_BITMAP, cxClient, cyClient,LR_LOADFROMFILE|LR_MONOCHROME);