这个地方不是说要定义成static, 这个是微软编译器提示的问题, 不能在case中定义变量,而static不算是case中定义的, 所以不会出错, 这个问题最好的解决方法就是: 每个case句都使用大括号括起来, 如下所示:
LRESULT CALLBACK WNDP(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_CREATE:
{
static HWND hButton=CreateWindow("button","my button",WS_CHILD|WS_VISIBLE|BS_CHECKBOX,
200,200,100,40,hWnd,(HMENU)"fe",((LPCREATESTRUCT)lParam)->hInstance,NULL);
return 0;
}
case WM_DESTROY:
{
PostQuitMessage(0);
return 0;
}
default:
break;
}
return DefWindowProc(hWnd,msg,wParam,lParam);
}
ps: 这里的static不需要滴