为什么我的菜单建立失败呢?(Win32)
程序出来后只有一个空的页面,不见菜单(菜单在"App.rc"里绘制),高手请帮忙看一下哦
#include <windows.h>
#include "resource.h"
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
TCHAR szAppName[] = TEXT("App");
DWORD test = 0;
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPreInstance,PSTR szCmdLine,int iCmdShow)
{
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
wndclass.style = CS_HREDRAW|CS_VREDRAW;
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 = (HBRUSH) GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = szAppName;
wndclass.lpszClassName = szAppName;
if (!RegisterClass(&wndclass))
{
//test = ::GetLastError();
MessageBox(NULL,TEXT("This programe requires Windows NT!"),szAppName,MB_ICONERROR);
return 0;
}
hwnd = CreateWindow(szAppName,TEXT("App"),WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
ShowWindow (hwnd, iCmdShow) ;
UpdateWindow(hwnd);
while (GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
HMENU hMenu;
switch(message)
{
case WM_COMMAND:
hMenu=GetMenu(hwnd);
switch(LOWORD(wParam))
{
case IDM_CLOSE:
MessageBox(hwnd,TEXT("Hello"),szAppName,MB_OK|MB_ICONINFORMATION);
return 0;
case IDM_ABOUT:
MessageBeep(0);
return 0;
}
break;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd,message,wParam,lParam);
}