MFC初步教程(三):菜单
菜单是MFC编程中非常重要的一种资源,在MFC中添加菜单有两种方式,一种是以资源的形式静态添加,另一种是动态添加,本文简洁说明第一种形式 ,其步骤如下(从SDK的角度看各种类之间的联系,更容易理解MFC框架):
1 创建win32空项目;
2 添加一个前述初步教程中所示的源代码文件
3 选择菜单insert->resource->menu,添加一个菜单File,并添加一个子菜单New,编辑子菜单New的ID为:IDM_FILENEW
4 选择Project --> Add To Project --> Files 将Script1.rc 和resource.h加入项目.
代码如下:
#include <afxwin.h> #include "resource.h" class MFC_Tutorial_Window :public CFrameWnd { CMenu menu1; // menu1作为本窗口类的一个数据成员 public: MFC_Tutorial_Window() { Create(NULL,"MFC Tutorial Part 1 CoderSource Window"); menu1.LoadMenu(IDR_MENU1); // 加载菜单资源,初始化菜单 SetMenu(&menu1); // 当前窗口以menu1为菜单,如果SetMenu函数参数为空,则表示无菜单(此函数用于设置窗口菜单) } void OnFileNew(); DECLARE_MESSAGE_MAP() }; BEGIN_MESSAGE_MAP( MFC_Tutorial_Window, CFrameWnd) ON_COMMAND(IDM_FILE_NEW,OnFileNew) // ON_COMMAND表示菜单消息、工具栏消息等命令消息 END_MESSAGE_MAP() void MFC_Tutorial_Window::OnFileNew() { MessageBox("Clicked File->New"); } class MyApp :public CWinApp { MFC_Tutorial_Window *wnd; public: BOOL InitInstance() { wnd = new MFC_Tutorial_Window(); m_pMainWnd = wnd; m_pMainWnd->ShowWindow(1); return 1; } }; MyApp theApp;