在Windows应用程序中,对话框是应用程序接收用户数据最主要的渠道之一。使用对话框,用户可以完成打开文件、选择字体、改变应用程序的参数、向应用程序提供数据等多种功能,这其中的某些功能可能是其他方法无法实现或难以实现的。当然,在Visual C++的集成开发环境中,也有许多地方用到了对话框。一般地,在Windows应用程序中,如果某个菜单项后带有三个点的省略号(如“File”菜单下的“New”命令),选择该菜单项将弹出一个对话框。
在应用程序的对话框中,通常都包含了一系列的控件。每个控件通常都是一个小的窗口,能够完成一些基本的交互任务。除了在对话框中使用控件外,用户可以在任何需要的时候在其他窗口中创建和使用控件。
在本章中,将结合实例介绍有关对话框与控件的内容。
在Windows应用程序中,对话框可以分为两类:
n 有模式对话框(Modal Dialog):对话框始终位于应用程序的最顶层,在对话框被关闭之前,用户不能选择应用程序的其他功能。应用程序的大部分对话框都是有模式对话框。
n 无模式对话框(Modaless Dialog):在对话框被关闭之前,用户可以选择应用程序的其他功能。如“Word”字处理软件中的“Find”对话框就是一个典型的无模式对话框。
在本节中,将通过“CompuInfo”例子程序,向用户介绍如何在应用程序中使用有模式对话框。这包括建立对话框资源、建立对话框类、设置对话框类的成员变量和通过代码调用对话框、与对话框交换数据等内容。
本节我们计划建立的项目为“CompuInfo”,此程序将拥有一个“Computer Information”对话框,用户可以在对话框中输入计算机的有关信息,在单击“OK”按钮关闭该对话框后,程序将在视图的客户区中显示用户在对话框中输入的信息。
在“File”菜单下选择“New”命令,建立新的MFC应用程序项目:CompuInfo。在AppWizard中,在步骤一中选择“Single Document(单文档界面)”的程序类型,选择“英语(美国)”为应用程序资源的语言类型;在步骤二中可以保持缺省设置;在步骤三中清除“ActiveX Controls”选项;在步骤四、五、六中保持缺省设置。