我的程序有一个错误,帮忙修改一下:
#include"windows.h"
#include"7_1.h"
HMENU hmenu,haddmenu;
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,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_ADDMENU:
hmenu=GetMenu(hwnd);
haddmenu=CreateMenu();
AppendMenu(haddmenu,MF_ENABLED,IDM_qiuhe,"求和");
AppendMenu(haddmenu,MF_ENABLED,IDM_fangcha,"方差");
AppendMenu(haddmenu,MF_ENABLED,IDM_pinjunzhi,"平均值");
AppendMenu(haddmenu,MF_ENABLED,IDM_junfanggen,"均方根");
//将创建的弹出式菜单插入菜单中
InsertMenu(hmenu,2,MF_POPUP|MF_BYPOSITION,(UINT)haddmenu,"统计计算(&c)");
//相应改变菜单中有关绘图统计计算菜单项的属性
EnableMenuItem(hmenu,IDM_ADDMENU,MF_GRAYED);
EnableMenuItem(hmenu,IDM_DELMENU,MF_ENABLED); DrawMenuBar(hwnd);
break;
case IDM_DELMENU:
DeleteMenu(hmenu,2,MF_BYPOSITION);
EnableMenuItem(hmenu,IDM_ADDMENU,MF_ENABLED);
EnableMenuItem(hmenu,IDM_DELMENU,MF_GRAYED);
DrawMenuBar(hwnd);
break;
case IDM_EXIT:
SendMessage(hwnd,WM_DESTROY,0,0);
break;
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default: return DefWindowProc(hwnd,message,wParam,lParam);
}
return 0;
}//7_1.h
#define IDM_ADDMENU 15
#define IDM_DELMENU 16
#define IDM_EXIT 17
#define IDM_HELP 22
#define IDM_qiuhe 23
#define IDM_fangcha 24
#define IDM_pinjunzhi 25
#define IDM_junfanggen 26
//资源文件如下:
#include "7_1.h"
#include "windows.h"
MENU MENU DISCARDABLE
{
POPUP "文件(&F)"
{
MENUITEM "创建统计计算菜单项(&P)\t Ctrl+P",IDM_ADDMENU
MENUITEM "删除统计计算菜单项(&D)\t Ctrl+D",IDM_DELMENU,GRAYED
MENUITEM SEPARATOR
MENUITEM "退出(&X)", IDM_EXIT
}
MENUITEM "帮助(&H), IDM_HELP
}MENU ACCELERATORS MOVEABLE PURE
{
"^P", IDM_ADDMENU, ASCII      //编译器提示这里有错误
"^D", IDM_ADDMENU, ASCII
}顺便问一下,这个资源文件时如何添加到工程中的