求助:vc++
#include <windows.h>
#include "resource.h"
HWND hWndModeless=NULL;
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
BOOL CALLBACK HelpDlgPROC(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)
{
static char szAppName[] = "示例" ;
HWND hwnd ;
MSG msg ;
WNDCLASSEX wndclass ;
wndclass.cbSize = sizeof (wndclass) ;
wndclass.style = CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = 0 ;
wndclass.hInstance = hInstance ;
wndclass.hIcon = LoadIcon (hInstance, IDI_APPLICATION) ;
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
wndclass.lpszMenuName =( MAKEINTRESOURCE(IDR_MENU2));
wndclass.lpszClassName = szAppName ;
wndclass.hIconSm = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1)) ;
if(! RegisterClassEx (&wndclass))
{
MessageBeep(0);
return FALSE;
}
hwnd = CreateWindow (
szAppName, //窗口类名
"示例9_1", //窗口标题名
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))
{if(!IsDialogMessage(hWndModeless,&msg))
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
return msg.wParam ;
}
LRESULT CALLBACK WndProc(
HWND hwnd, //窗口句柄
UINT iMsg, //代表所处理消息的消息值
WPARAM wParam, //消息的附加参数
LPARAM lParam) //消息的附加参数
{ static WNDPROC lpfnopenProc;
static HINSTANCE hInstance;
switch (iMsg)
{
case WM_CREATE:
hInstance=((LPCREATESTRUCT)lParam)->hInstance;
return 0;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDM_open:
hWndModeless=CreateDialog(hInstance,"open",hwnd,HelpDlgPROC);
//showWindow(hWndModeless,SW_SHOW);
break;
case WM_CLOSE:
if(IDYES==MessageBox(hwnd,"是否真的结束?","weixin",MB_YESNO))
{
DestroyWindow(hwnd);
}
break;
case WM_DESTROY :
PostQuitMessage (0) ; //调用函数PostQuitessage退出程序
return 0 ;
}
return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
}
BOOL CALLBACK HelpDlgPROC(HWND hDlg,UINT iMsg,WPARAM wParam,LPARAM lParam)
{
switch(iMsg)
{
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDOK:
case IDCANCEL:
DestroyWindow(hDlg);
return TRUE;
}
break;
}
return FALSE;
}
错误:
al.cpp
E:\al\al.cpp(90) : error C2601: 'HelpDlgPROC' : local function definitions are illegal
E:\al\al.cpp(109) : fatal error C1004: unexpected end of file found
Error executing cl.exe.
al.exe - 2 error(s), 0 warning(s)