为什么这个程序对单击菜单不响应呢?解决方法

为什么这个程序对单击菜单不响应呢?
#include"windows.h"
#include"stdlib.h"
#include"stdio.h"
#include"非模态.h"
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
BOOL CALLBACK DlgProc(HWND hDlg,UINT Message,WPARAM wParam,LPARAM lParam);
char lpszMenuName[]="Menu";
char lpszClassName[]="非模态";
char lpszTitle[]="非模态对话框实例";
HWND hDlg;
HINSTANCE hInstance;
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{HWND hWnd;
MSG Msg;
WNDCLASS WndClass;
WndClass.cbClsExtra=0;
WndClass.cbWndExtra=0;
WndClass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
WndClass.hCursor=LoadCursor(hInstance,IDC_ARROW);
WndClass.hIcon=LoadIcon(hInstance,IDI_APPLICATION);
WndClass.hInstance=hInstance;
WndClass.lpfnWndProc=WndProc;
WndClass.lpszClassName=lpszClassName;
WndClass.lpszMenuName=lpszMenuName;
WndClass.style=0;

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))
{if(!IsDialogMessage(hDlg,&Msg))
{TranslateMessage(&Msg);
DispatchMessage(&Msg);}}
return Msg.wParam;}
LRESULT CALLBACK WndProc(HWND hWnd,UINT Message,WPARAM wParam,LPARAM lParam)
{switch(Message)
{case WM_COMMAND:
switch(LOWORD(wParam))
{case IDM_NEW:
MessageBox(hWnd,"文件创建","文件创建成功",MB_OK);
break;
case IDM_ABOUT:
hDlg=CreateDialog(hInstance,"关于",hWnd,DLGPROC(DlgProc));
break;}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd,Message,wParam,lParam);
break;}
return 0;}
BOOL CALLBACK DlgProc(HWND hDlg,UINT Message,WPARAM wParam,LPARAM lParam)
{switch(Message)
{case WM_INITDIALOG:
return 1;
break;
case WM_COMMAND:
switch((wParam))
{case IDOK:
  DestroyWindow(hDlg);
break;}
break;
case WM_CLOSE:
DestroyWindow(hDlg);
break;}
return 0;}这是一个WIN32程序,要求是当单击新建菜单时弹出一个消息框,当单击关于菜单时,弹出一个非模式对话框,这个程序可以运行出来,但是当我单击新建菜单时,并没有弹出消息框啊!当单击关于菜单时也不会弹出对话框,这是什么原因啊,求高人指点!

------解决方案--------------------
版排成这样怎么读
------解决方案--------------------
大哥啊,基础没学好啊。非模式对话框是不会显示的,要自己去showwindow(),
你的messagebox参数不对啊
试试
messagebox(null,TEXT("文件创建"),lpszclassname,MB_OK);
------解决方案--------------------
你的GetMessage TranslateMessage等等消息肯定没调用。 

代码:
C/C++ code
BOOL bRet;

while( (bRet = GetMessage( &msg, hWnd, 0, 0 )) != 0)
{ 
    if (bRet == -1)
    {
        // handle the error and possibly exit
    }
    else
    {
        TranslateMessage(&msg); 
        DispatchMessage(&msg); 
    }
}