VC++ 实例教程:创建模态与非模态对话框

需积分: 16 1 下载量 113 浏览量 更新于2024-09-13 收藏 1.23MB PDF 举报
"VC弹出对话框的创建与实现教程" 在VC++编程环境中,创建和弹出对话框是常见的任务,特别是在MFC(Microsoft Foundation Classes)应用开发中。本教程将详细介绍如何在VC6.0环境下使用MFC创建模态和非模态对话框。 首先,我们需要创建一个新的MFC应用程序。打开Visual C++ 6.0,选择"MFCAppWizard(exe)"选项,输入工程名为"ShowDialog"。在"AppWizard–Setup(1-6)"的配置中,选择"Single document"(单文档视图),然后点击"Finish"完成工程创建。 接着,进入资源视图,选择"Dialog",通过右键菜单选择"Insert Dialog"来插入新的对话框。我们将创建两个对话框,ID分别设定为"IDD_DIALOG_DOMODAL"和"IDD_DIALOG_MODAL",并分别设置它们的"Caption"属性为"模态对话框"和"非模态对话框"。这些对话框是我们将要弹出的窗口,用于用户交互。 为了能够操作这两个对话框,我们需要为它们添加新的类。右键点击每个对话框,选择"ClassWizard",系统会询问是否为新资源添加类,选择"OK"。在"Name"中输入类的名字,如"CModalDlg"(模态对话框的类)和"CDomodalDlg"(非模态对话框的类),并在"BassClass"中选择"CDialog"作为基础类,确认这些设置。 之后,我们处理菜单部分。在资源视图中找到"Menu",双击"IDR_MANIFRAME"以编辑系统菜单。添加一个顶级菜单项,命名为"弹出对话框",并在其下创建两个子菜单,ID分别为"IDM_DOMODAL"和"IDM_MODAL",对应"弹出模态对话框"和"弹出非模态对话框"。设置好"Caption"属性后,为每个子菜单执行类向导,确保资源ID、类名(如"CMainFrame")和消息(如"ON_COMMAND")正确匹配,以便在菜单被点击时触发相应的对话框。 至此,我们完成了对话框的创建和关联。接下来,我们需要在程序代码中实现对话框的显示逻辑。在响应"IDM_DOMODAL"和"IDM_MODAL"的函数中,调用`CModalDlg::DoModal()`来显示模态对话框,而用`CDomodalDlg* pDlg = new CDomodalDlg(); pDlg->Create(IDD_DIALOG_DOMODAL, this);`来创建并显示非模态对话框。记住,非模态对话框需要手动销毁,通常在不再需要时调用`pDlg->DestroyWindow();`。 总结来说,创建VC++中的对话框涉及到资源的定义、类的创建以及菜单事件的处理。通过以上步骤,开发者能够熟练地在MFC应用中弹出模态和非模态对话框,以实现更丰富的用户交互功能。