c++对话框.docVIP

  • 52
  • 0
  • 约1.93万字
  • 约 17页
  • 2018-03-13 发布于河南
  • 举报
c对话框

【上机练习8】:通过建立一个具有禁止和启用功能的菜单的应用程序来完成在单文档界面下对菜单项的操作。通过选择“启用/禁止”命令,完成对相应菜单项的启用和禁止功能的操作。 运行程序,效果如下图 选择“启用”菜单,效果如下图 选择“禁止”菜单,效果如下图 4.要求按图示,在菜单中加一条分隔线。 操作步骤如下: 1.利用AppWizard向导,创建SDI应用程序。文件名为chap8。 2.在ResourceView的资源列表中,单击Menu(菜单)旁边的“+”,再双击IDR_MAINFRAME选项。在右侧编辑区中将显示建立的菜单资源。 3.双击空白的虚框,打开菜单属性对话框,输入主菜单标题“禁止/启用(J)”。 4.在已建立的菜单项下出现了新的空白虚框,选中空白虚框,输入“菜单项一”,ID号为ID_NO1。 5.按上面的方法输入“菜单项二”,ID号为ID_NO2。 6.增加一条分隔线。再建立新的菜单项“禁止”, ID号为ID_NO、“启用” ID号为ID_USE. 7.添加成员变量。在ClassView选项卡,并展开其选项,双击chap8选项。在CMainFrame选项上右击,在快捷菜单中选Add Member Variable(添加变量) 命令,打开“添加变量”对话框。在对话框中输入变量名—status、变量类——BOOL,选择变量属性——private。此时会看到在Cchap7Doc下面自动添加了一个变量status。变量status用来作为ID_NO1和ID_NO2的状态识别变量。 8.为“启用”菜单项添加成员函数OnUse()。在MFC Class Wizard对话框中,选Message Maps选项卡,进行如下设置: 选择Class name: CMainFrame Object IDs: ID_USE Messages:COMMAND 添加成员函数OnUse(), 代码如下: //TODO status=TRUE; 9.为“禁止”菜单项添加成员函数OnNo()。设置同上。 Class name: CMainFrame Object IDs: ID_NO Messages:COMMAND 代码如下: //TODO status=FALSE; 10.为“菜单项一”菜单项添加成员函数OnUpdateNo1()。设置同上。 Class name: CMainFrame Object IDs: ID_NO1 Messages:UPDATE_COMMAND_UI 代码如下: //TODO switch(status) { case FALSE: //状态标识为“禁止” pCmdUI-Enable(FALSE);//对应菜单为“禁止”状态 break; case TRUE: //状态标识为启用 pCmdUI-Enable(TRUE);// 对应菜单为“启用”状态 break; } 11.同时为“菜单项二”菜单项添加成员函数。 Class name: CMainFrame Object IDs: ID_NO2 Messages:UPDATE_COMMAND_UI 代码如下: //TODO switch(status) { case FALSE: //状态标识为“禁止” pCmdUI-Enable(FALSE);//对应菜单为“禁止”状态 break; case TRUE: //状态标识为启用 pCmdUI-Enable(TRUE);// 对应菜单为“启用”状态 break; } ※ 本题并没有对“菜单项一”和“菜单项二”的功能进行具体设置。只是对菜单项状态进行了禁止和启用的设置。 第7章 对话框 对话框在Windows系统环境中应用很普遍,它通常作为应用程序与用户交互的场所,是用户向应用程序传递信息的工具。对话框是一个特殊类型的窗口,任何对窗口进行的操作,均可在对话框中进行操作。与Visual C++的其他窗口相比,对话框的最大优点还在于它更易于放置控件来和用户进行交互。 7.1对话框效果要求 对话框主要分为模式对话框和无模式对话框。模式对话框是指这种对话框出现时,它的父窗口将暂时失效,只有处理完对话框要求的工作后,才会将控制权交回给父窗口。无模式对话框不会使父窗口失效,因此,无模式对话框出现时,可以继续执行父窗口的操作。无模式对话框使用的很少,大部分使用的是模式对话框。 本例mydlg应用程序讲述对话框的开发过程。完成对模式对话框和无模式对话框的调用,同时完成对话框与应用程序的数据交换。 在mydlg应用程序中,要求建立如图7.1所示的应用程序界面,其具体设计要求如下: (1)在菜单栏中,增加“对话框”菜单项,及“模式对话框”和“无模式对话框”子菜单项。 (

文档评论(0)

1亿VIP精品文档

相关文档