请问这是什么毛病?
运行一个程序例子,根据源码写了程序,但却出现如下错误:
D:\myproject\bandit\11\11.h(17) : fatal error RC1004: unexpected end of file found
头文件1.h:
#define IDM_NEW 10
#define IDM_OPEN 11
#define IDM_CLOSE 12
#define IDM_SAVE 13
#define IDM_SAVEAS 14
#define IDM_ADDPRINTMENU 15
#define IDM_DELPRINTMENU 16
#define IDM_EXIT 17
#define IDM_CUT 18
#define IDM_COPY 19
#define IDM_PASTE 20
#define IDM_DELETE 21
#define IDM_HELP 22
#define IDM_LINE 23
#define IDM_RECT 24
#define IDM_RRECT 25
#define IDM_ELLIP 26
程序:
#include<windows.h>
#include"11.h"
HMENU hmenu,hprintmenu;
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain
(
HINSTANCE hInstance,
HINSTANCE hPrevInst,
LPSTR lpszCmdLine,
int nCmdShow
)
{
HWND hwnd;
MSG Msg;
HACCEL hAccel;
WNDCLASS wndclass;
char lpszMenuName[]="Menu";
char lpszClassName[]="菜单";
char lpszTitle[]="My_Menu_Example";
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=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName=lpszMenuName;
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);
hAccel=LoadAccelerators(hInstance,lpszMenuName);
while(GetMessage(&Msg,NULL,0,0))
{
if(!TranslateAccelerator(hwnd,hAccel,&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:
break;
case IDM_OPEN:
break;
case IDM_SAVE:
break;
case IDM_SAVEAS:
break;
case IDM_CLOSE:
break;
case IDM_ADDPRINTMENU:
break;
hmenu=GetMenu(hwnd);
hprintmenu=CreateMenu();
AppendMenu(hprintmenu,MF_ENABLED,IDM_LINE,"求和");
AppendMenu(hprintmenu,MF_ENABLED,IDM_RECT,"方差");
AppendMenu(hprintmenu,MF_ENABLED,IDM_RRECT,"平均值");
AppendMenu(hprintmenu,MF_ENABLED,IDM_ELLIP,"均方根");
InsertMenu(hmenu,2,MF_POPUP|MF_BYPOSITION,(UINT)hprintmenu,"统计计算(&C)");
EnableMenuItem(hmenu,IDM_ADDPRINTMENU,MF_GRAYED);
EnableMenuItem(hmenu,IDM_DELPRINTMENU,MF_ENABLED);
DrawMenuBar(hwnd);
break;
case IDM_DELPRINTMENU:
DeleteMenu(hmenu,2,MF_BYPOSITION);
EnableMenuItem(hmenu,IDM_ADDPRINTMENU,MF_GRAYED);
EnableMenuItem(hmenu,IDM_DELPRINTMENU,MF_ENABLED);
DrawMenuBar(hwnd);
break;
case IDM_EXIT:
break;
case IDM_CUT:
break;
case IDM_COPY:
break;
case IDM_PASTE:
break;
case IDM_DELETE:
break;
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return 0;
}
资源文件:
#include "11.h"
MENU MENU DISCARDABLE
BEGIN
POPUP"文件(&F)"
BEGIN
MENUITEM"新建(&)" IDM_NEW
MENUITEM"打开(&O)\t Ctrl+O", IDM_OPEN
MENUITEM“关闭(&C)", IDM_CLOSE
MENUITEM"SEPARATOR
MENUITEM"保存(&S)\t Ctrl+S", IDM_SAVE
MENUITEM"另存为(&A)", IDM_SAVEAS
MENUITEM"SEPARATOR
MENUITEM"创建统计计算菜单项(&P)\t Ctrl+P", IDM_ADDPRINTMENU
MENUITEM"删除统计计算菜单项(&D)\t Ctrl+D", IDM_DELPRINTMENU,GRAYED
MENUITEM"SEPARATOR
MENUITEM"退出(&X)", IDM_EXIT
END
POPUP"编辑(&E)
BEGIN
MENUITEM"剪切(&T)\t Ctrl+X", IDM_CUT
MENUITEM"复制(&C)\t Ctrl+C", IDM_COPY
MENUITEM"粘贴(&P)\t Ctrl+V", IDM_PASTE
MENUITEM"删除(&D)\t Del", IDM_DELETE
END
MENUITEM"帮助(&H)", IDM_HELP
END
/////////////////////////////////////////////////////////////////////////////
//Accelerator
//
MENU ACCELERATORS MOVEABLE PURE
BEGIN
"^N", IDM_NEW, ASCII
"^O", IDM_OPEN, ASCII
"^S", IDM_SAVE, ASCII
"^P", IDM_ADDPRINTMENU, ASCII
"^D", IDM_DELPRINTMENU, ASCII
"^X", IDM_CUT, ASCII
"^C", IDM_COPY, ASCII
"^V", IDM_PASTE, ASCII
VK_DELETE, IDM_DELETE, VIRTKEY
END