vc中运行出现了 error C2440: '=' : cannot convert from 'void *' to 'struct HBRUSH_ *',该怎么处理

vc中运行出现了 error C2440: '=' : cannot convert from 'void *' to 'struct HBRUSH__ *'
程序代码入下:
#include<stdafx.h>
#include<windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);//窗口函数说明
//初始窗口类
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInst,
LPSTR lpszCmdLine,
int nCmdShow)
{HWND hwnd;
MSG Msg;
WNDCLASS wndclass;
char lpszClassName[]="窗口";//窗口类名
char lpszTitle[]="My_Windows";//
//窗口类的定义
wndclass.style=0;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance;
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=GetStockObject(LTGRAY_BRUSH);
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName=lpszClassName;
//
if(!RegisterClass(&wndclass))
{MessageBeep(0);
return FALSE;
}
//
hwnd=CreateWindow(lpszClassName,
lpszTitle,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);
//
ShowWindow(hwnd,nCmdShow);
//
UpdateWindow(hwnd);
//
while(GetMessage(&Msg,NULL,0,0))
{TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hwnd,
UINT message,
WPARAM wParam,
LPARAM lParam)
{switch(message)
{case WM_DESTROY:
PostQuitMessage(0);
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return (0);
}


运行后为
--------------------Configuration: sdafsdf - Win32 Debug--------------------
Compiling...
sdfa.cpp
G:\乔建成\Visual C++\MSDev98\MyProjects\sdafsdf\sdfa.cpp(22) : error C2440: '=' : cannot convert from 'void *' to 'struct HBRUSH__ *'
  Conversion from 'void*' to pointer to non-'void' requires an explicit cast
执行 cl.exe 时出错.

sdfa.obj - 1 error(s), 0 warning(s)


------解决方案--------------------
强制类型转换
------解决方案--------------------
wndclass.hbrBackground=(HBRUSH)GetStockObject(LTGRAY_BRUSH);

------解决方案--------------------
有很多时候是需要强制转化的~