讲座三 VS2010(MFC)编程—对话框(加法计算器).docx
《讲座三 VS2010(MFC)编程—对话框(加法计算器).docx》由会员分享,可在线阅读,更多相关《讲座三 VS2010(MFC)编程—对话框(加法计算器).docx(22页珍藏版)》请在一课资料网上搜索。
1、VS2010(MFC)编程对话框程序一、VS2010(MFC)编程-对话框:创建对话框模板和修改对话框属性对话框,大家应该很熟悉了,在我们常用的软件中大多都有对话框界面,例如,360安全卫士的主界面其实就是个对话框,只是它做了很多美工方面的工作,将其大大美化了。 创建对话框主要分两大步,第一,创建对话框资源,主要包括创建新的对话框模板、设置对话框属性和为对话框添加各种控件;第二,生成对话框类,主要包括新建对话框类、添加控件变量和控件的消息处理函数等。在本节中先讲讲怎样创建对话框模板和设置对话框属性。 创建基于对话框的应用程序框架这里创建一个基于对话框的应用程序,用来实现加法运算的功能。创建步骤
2、同单文档应用程序大同小异,简单步骤如下: 1.选择菜单项File-New-Project,弹出“New Project”对话框。2.左侧面板中Installed Templated的Visual C+下选择MFC,中间窗口中选择MFC Application,然后在下面的Name编辑框中键入工程名称,本例取名“Addition”,在Location编辑框中设置工程的保存路径。点“OK”。 3.点“Next”到“Application Type”对话框,在Application type下选择Dialog based,其他使用默认设置,点“Finish”。 我们可以在Solution Explo
3、rer视图中看到,此工程的文件要比单文档应用程序少的多,在Class View中主要有三个类:CAboutDlg、CAdditionApp和CAdditionDlg。CAboutDlg是应用程序的“关于”对话框类,CAdditionApp是由CWinApp派生的类,CAdditionDlg是主对话框类,主对话框也就是此应用程序运行后显示的主要界面。 注:如果在VS2010中找不到Solution Explorer或Class View等视图,可以在菜单项View下找到对应视图选项选择即可。在VS2010的使用介绍中已经有讲解。 在Resource View视图中可以看到工程Addition的资
4、源树,展开Addition.rc,下面有四个子项:Dialog(对话框)、Icon(图标)、String Table(字符串表)和Version(版本)。然后展开Dialog项,下面有两个对话框模板,其ID分别为:IDD_ABOUTBOX和IDD_ADDITION_DIALOG,前者是“关于”对话框的模板,后者是主对话框的模板。ID是资源的唯一标识,本质上是一个无符号整数,一般ID代表的整数值由系统定义,我们无需干涉。 对话框模板 可见对于主对话框来说,创建对话框第一步中的创建新的对话框模板已经由系统自动完成了。而如果是再添加对话框需要创建新的对话框模板时,需要在Resource View的“
5、Dialog”节点上点右键,在右键菜单中选择“Insert Dialog”,就会生成新的对话框模板,并且会自动分配ID。 在Resource View的资源树中双击某个ID,可在中间区域内显示相应的资源界面。双击IDD_ADDITION_DIALOG时,中间区域就会显示Addition对话框模板。如下图: 设置对话框属性 在Addition对话框模板上点右键,然后在右键菜单中选择Properties,则在右侧面板中会显示对话框的属性列表。如下图:在这里对经常使用的几个属性作简单说明,并对Addition对话框进行属性设置说明。 1.ID:对话框ID,唯一标识对话框资源,可以修改。此处为IDD_
6、ADDITION_DIALOG,我们不修改它。 2.Caption:对话框标题。此处默认为Addition,我们将其修改为“加法计算器”。 3.Border:边框类型。有四种类型:None、Thin、Resizing和Dialog Frame。我们使用默认的Dialog Frame。 4.Maximize:是否使用最大化按钮。我们使用默认的False。 5.Minimize:是否使用最小化按钮。同样我们使用默认的False。 6.Style:对话框类型。有三种类型:Overlapped(重叠窗口)、Popup(弹出式窗口)和Child(子窗口)。弹出式窗口比较常见。我们使用默认的Popup类型
7、。 7.System Menu:是否带有标题栏左上角的系统菜单,包括移动、关闭等菜单项。我们使用默认的True。 8.Title Bar:是否带有标题栏。我们使用默认的True。 9.Font(Size):字体类型和字体大小。如果将其修改为非系统字体,则Use System自动改为False。而如果Use System原来为False,将其修改为True,则Font(Size)自动设置为系统字体。这里我们使用默认的系统字体。根据以上说明,其实我们只修改了标题属性。这时我们运行此程序后的界面如下:VS2010/MFC编程-对话框:为对话框添加控件创建对话框资源需要创建对话框模板、修改对话框属性、
8、为对话框添加各种控件等步骤,前面一讲中已经讲了创建对话框模板和修改对话框属性,本节继续讲如何为对话框添加控件。 上一讲中创建了一个名为“Addition”的工程,目的是生成一个实现加法运算的应用程序。实现加法计算有几个必要的因素:被加数、加数、和。被加数和加数需要输入,和需要输出显示。那么这几个因素都需要相应的控件来输入或显示,下面就一步步讲解如何添加这些控件。1.为对话框添加一个静态文本框(Static Text),用于显示字符串-“被加数”。上一讲中生成的资源模板中自动添加了一个标题为“TODO:Place dialog controls here.”的静态文本框,我们可以修改它的标题继续
9、使用,也可以删掉它。这里为了从头讲解静态文本框的添加过程,将它删掉,继续添加新的静态文本框。删除控件时,可以使用鼠标左键点击选中它,选中后控件的周围会出现虚线框,然后按Delete键就可以将其删除了。在“Addition”工程的Resource View中打开上一讲中创建的对话框模板IDD_ADDITION_DIALOG,自动添加的静态文本框就可以使用这种方法删除。 在添加新的静态文本框以前,先看看Toolbox视图是否显示了,如果没有显示,在菜单栏上点击View-Toolbox即可。Toolbox视图如下图: Toolbox中列出了一些常用控件,其中有一个是Static Text,即是我们要
10、添加的控件。在Toolbox中的Static Text上点下鼠标左键不放开,并拖到IDD_ADDITION_DIALOG对话框模板上,模板上会出现一个虚线框,我们找到合适的位置松开鼠标左键放下它。 用鼠标左键选中控件后周围出现虚线框,然后鼠标移到虚线框上几个黑点的位置会变成双向箭头的形状,此时就可以按下鼠标左键并拖动来改变控件大小了。我们可以这样改变新添加的静态文本框控件的大小,以更好的显示标题。当然,整个对话框模板也可以用这种方法改变大小。 接下来就该修改静态文本框的文字了。鼠标右键点击静态文本框,在右键菜单中选择“Properties”,Properties面板就会显示出来,在面板上修改C
11、aption属性为“被加数”,ID修改为IDC_SUMMAND_STATIC。此时模板如下图: 2.为对话框添加一个编辑框(Edit Control),用来输入被加数。 添加编辑框的过程与静态文本框类似,在Toolbox中选中Edit Control控件拖到对话框模板上,并使其与之前的静态文本框水平对齐(为了美观),然后调整其大小使之适合被加数的输入。 在编辑框上点右键,仍然在右键菜单中选择“Properties”显示出属性(Properties)面板,修改其ID为IDC_SUMMAND_EDIT。此时模板如下图: 3.按照1的方法添加一个标题为“加数”的静态文本框,用于显示字符串-“加数”。
12、并将其ID改为IDC_ADDEND_STATIC。 4.按照2的方法添加一个ID为IDC_ADDEND_EDIT的编辑框,用来输入加数。5.按照1的方法添加一个标题为“和”的静态文本框,用于显示文字-“和”。并修改其ID为IDC_SUM_STATIC。 6.按照2的方法添加一个ID为IDC_SUM_EDIT的编辑框,用来显示最终的加和。7.类似的添加按钮(Button)控件到对话框模板,用于在被点击后触发加法计算。修改其标题为“计算”,ID为IDC_ADD_BUTTON。 到此,对话框模板如图: 8.删除OK按钮。打开Cancel按钮的属性面板,将标题改为“退出”,并使其与“计算”按钮水平对齐
13、。 9.根据控件的布局,适当调整整个对话框模板的大小,使其相对控件布局来说大小合适,界面美观。 这样在对话框模板中就把我们在本例中需要用到的控件就添加完了。最终效果如下: 至此,我们的对话框资源就基本创建完了。应用程序运行后的界面效果已经很清楚了。后面鸡啄米会讲如何在对话框类中实现加法计算功能,并能很好的和界面交互。二、VS2010/MFC编程:创建对话框类和添加控件变量生成对话框类主要包括新建对话框类、添加控件变量和控件的消息处理函数等。 因为例程Addition是基于对话框的程序,所以程序自动创建了对话框模板IDD_ADDITION_DIALOG,并自动生成了对话框类CAdditionDl
14、g,它是从CDialogEx类派生的。大家用过VC+ 6.0的可能记得,我们定义的对话框类都是从CDialog类派生的,但在VS2010中,一般对话框类都是继承自CDialogEx类。 创建对话框类 如果是自己新添加的对话框模板,怎样为它创建对话框类呢? 1.首先,在Resource View的“Dialog”节点上右键,然后在右键菜单中选择“Insert Dialog”创建一个新的对话框模板,ID就使用默认的IDD_DIALOG1。 2.在中间区域会显示新建的对话框模板,然后选中此对话框模板,点右键,在右键菜单中选择Add Class。 3.选择“Add Class”后会弹出一个对话框,在对
15、话框中“Class name”下的编辑框中写入自定义的类名就可以了,例如CMyDialog。 4.最后点“Finish”完成。 最终你就可以在Class View中看到新生成的对话框类CMyDialog了,并且在Solution Explorer中有相应的MyDialog.h头文件和MyDialog.cpp源文件生成。CMyDialog类同样派生于CDialogEx类。 注意,一般类名都以C打头,又比如,CTestDlg。 为对话框中的控件添加变量 在上一讲中为对话框添加了几个控件,包括三个静态文本框,三个编辑框,一个按钮控件。程序自动生成的Cancel按钮保留,作为退出按钮,而OK按钮删除掉
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 讲座三 VS2010MFC编程对话框加法计算器 讲座 VS2010 MFC 编程 对话框 加法 计算器
