dler code here
MessageBox("悟空你也太调皮了,我跟你说过叫你不要乱扔东西,你怎么又?",
"月光宝盒");
}
(5)在MainFrm.cpp 文件中找到CMainFrcom::OnMovie2()函数,添加如下代码:
void CMainFrcom::OnMovie2()
{
// TODO: Add your command handler code here
MessageBox("曾经有一份真诚的爱情摆在我的面前,但是我没有珍惜?",
"仙履奇缘");
}
(6)保存文件,编译并运行程序,关闭所有文档,依次选择“大话西游|仙履奇缘”可以
得到如图3-15 所示的运行结果。
图3-15 菜单应用程序的运行结果
2.添加动态修改菜单状态的处理函数
每一个菜单项都有很多属xìng,通过动态改变菜单项的属xìng可以及时反映菜单的状态,为
用户提供相关的信息。但在介绍菜单资源编辑器的时候也涉及到了一些跟菜单属xìng有关的内
容。在资源编辑器中只能设置菜单的初始状态,并不能在程序运行时动态地改变菜单属xìng,
这就需要通过程序代码来实现这些功能。
枫叶文学网www.fywxw.com
Visual C++ 6.0 程序设计从入门到精通
·54·
在前一部分中使用ClassWizard 对话框添加消息处理函数时可以看到如图3-14 所示的菜
单ID 对应的“Messages”列表框中有两项,一项是已经用到的“COMMAND”,另一项
“UPDATE_COMMAND_UI”则是本部分将要介绍的菜单项的状态更新消息。该消息在MFC
要更新整个程序界面时产生,提示用户设置该菜单项当前的状态。
下面为前一节的示例添加“仙履奇缘”菜单项的状态更新处理,要求必须在选择过“月
光宝盒”菜单项后才能选择“仙履奇缘”,否则“仙履奇缘”菜单项处于禁用状态。
(1)为主框架类添加一个成员变量,用以标记“月光宝盒”菜单项是否被选择过。要添
加成员变量,首先应在IDE 左侧单击“ClassView”选项卡,展开“Classes”节点,在CMainFrcom
节点上单击鼠标右键,在弹出菜单中选择“Add Member Variable”菜单项,打开“Add Member
Variable”对话框,如图3-16 所示。在其中的“Variable Type”变量类型文本框中输入“BOOL”,
在“Variable Ncom”变量名文本框中输入“m_bHaveSeenMovie1”,并选中“Access”区域中
的“Public”单选框。确认后即为CMainFrcom 添加了一个公共成员变量m_bHaveSeenMovie1。
该变量的值将决定是否禁用“仙履奇缘”菜单项,当它的值为TRUE 时,菜单项允许,为FALSE
时则被禁用。
图3-16 为CMainFrcom 添加的成员变量
(2)初始化新创建的成员变量,初始值为FALSE,即“