VS2010 MFC 多文档添加菜单.docxVIP

  • 32
  • 0
  • 约1.39千字
  • 约 9页
  • 2017-02-28 发布于湖北
  • 举报
VS2010添加菜单MFC class wizard(类向导)project:当前工程名class name:需要编辑消息映射(将消息与处理函数一一对应)的类名object ID:该类中当前可以产生消息的对象ID。Message:该对象能产生的消息Member function:该类的成员函数。可以添加(Add function),删除(Delete fun…)。Add class:添加新的类。右下有个小箭头,可以选择“new”或从类库中导入。SDI:单文档 MDI:多文档创建MDI工程:打开VS2010,文件,新建,project,选MFC应用程序(MFC AppWizard),填入名称:Menu1,确定。选多个文档,完成。编译运行一下,弹出的窗口是Menu11:2.完成后在左侧点资源视图,Menu, IDR_Menu1TYPE,会发现,Menu框架中已经有了“文件,编辑,视图,帮助”等菜单。单击“帮助”后面的“请在此处输入”,并输入“Movie(M)”,输入(M)的作用是用户可通过“Alt+m”直接打开该菜单项,输入后 ‘’自动消失。左下角的“菜单编辑项”中,enable和popup默认为true。因为Popup为true,即允许有子菜单弹出,所以不用输入ID,下面杂项的ID为“无法编辑ID”。单击Movie下面的框,并在里面输入‘赤壁之战(C)’。(C)表示直接在键盘上按‘C’,即可选择“赤壁之战”。这时,他变成了这个样子,并且左下角的‘菜单编辑器’里出现了内容。在菜单编辑器里,注意到popup为false,这是可以编辑ID,向下拉菜单,在“杂项”中,将ID改为ID_MOVIE1,在Prompt中填入“打开赤壁电影”。此处,直接单击,就可以修改或输入。为菜单添加消息处理函数直接在最上一行菜单栏选‘项目’,类向导,弹出class wizard。类名为CMenu1App,对象(ID)选ID_MOVIE1,消息(S)选COMMAND。添加处理程序,成员函数名“OnMovie1”,确定。在成员函数中,出现了OnMovie1,选择它,点“编辑代码”。自动进入Menu1.cpp,并出现了OnMovie1():在OnMovie1函数中输入代码:void CMenu1App::OnMovie1( ){MessageBox(0,“太经典了!”,“赤壁之战”,MB_OK);}此时编译运行,点这个。如果此时 MessageBox有Error,可能是字符串的问题:error C2664: “MessageBoxW”不能将参数从”const char [9]”转换为”LPCWSTR”与指向的类型无关。转换要求reinterpret_cast、C 样式转换或函数样式转换。解决方法一:最上一行菜单,项目,Menu1属性,配置属性,常规,字符集“使用多自己字符集”解决方法二:在新建项目时,将“使用Unicode库”的对号去掉。若有错误:LINK : fatal error LNK1168: 无法打开“F:\learn\Menu1\Debug\Menu1.exe”进行写入解决方法:ctrl+alt+del,启动任务管理器,找到Menu1,结束进程。运行程序,点movie 赤壁之战,弹出MessageBox“太经典了”:删除菜单,按del键即可。

文档评论(0)

1亿VIP精品文档

相关文档