VS2010-MFC(对话框:创建对话框模板和修改对话框属性)

Posted tang-tangt

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS2010-MFC(对话框:创建对话框模板和修改对话框属性)相关的知识,希望对你有一定的参考价值。

 

转自:http://www.jizhuomi.com/software/149.html

 

对话框,大家应该很熟悉了,在我们常用的软件中大多都有对话框界面,例如,360安全卫士的主界面其实就是个对话框,只是它做了很多美工方面的工作,将其大大美化了。

 

创建对话框主要分两大步,第一,创建对话框资源,主要包括创建新的对话框模板、设置对话框属性和为对话框添加各种控件;第二,生成对话框类,主要包括新建对话框类、添加控件变量和控件的消息处理函数等。

       

       本节先讲讲怎样创建对话框模板和设置对话框属性。

 

       创建基于对话框的应用程序框架

       之前创建的HelloWorld程序是单文档应用程序,生成了多种窗口,如果用它来将讲创建对话框的话可能有些复杂,对大家单纯理解对话框有点影响,所以这里再创建一个基于对话框的应用程序,用来实现加法运算的功能。创建步骤同单文档应用程序大同小异,简单步骤如下:

       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 Explorer视图中看到,此工程的文件要比单文档应用程序少的多,在Class View中主要有三个类:CAboutDlg、CAdditionApp和CAdditionDlg。CAboutDlg是应用程序的“关于”对话框类,CAdditionApp是由CWinApp派生的类,CAdditionDlg是主对话框类,主对话框也就是此应用程序运行后显示的主要界面。

       注:如果在VS2010中找不到Solution Explorer或Class View等视图,可以在菜单项View下找到对应视图选项选择即可。在VS2010的使用介绍中已经有讲解。

       在Resource View视图中可以看到工程Addition的资源树,展开Addition.rc,下面有四个子项:Dialog(对话框)、Icon(图标)、String Table(字符串表)和Version(版本)。然后展开Dialog项,下面有两个对话框模板,其ID分别为:IDD_ABOUTBOX和IDD_ADDITION_DIALOG,前者是“关于”对话框的模板,后者是主对话框的模板。ID是资源的唯一标识,本质上是一个无符号整数,一般ID代表的整数值由系统定义,我们无需干涉

 

       对话框模板

       可见对于主对话框来说,创建对话框第一步中的创建新的对话框模板已经由系统自动完成了。而如果是再添加对话框需要创建新的对话框模板时,需要在Resource View的“Dialog”节点上点右键,在右键菜单中选择“Insert Dialog”,就会生成新的对话框模板,并且会自动分配ID。

       在Resource View的资源树中双击某个ID,可在中间区域内显示相应的资源界面。双击IDD_ADDITION_DIALOG时,中间区域就会显示Addition对话框模板。如下图:

技术分享图片

 

 

 

       设置对话框属性

       在Addition对话框模板上点右键,然后在右键菜单中选择Properties,则在右侧面板中会显示对话框的属性列表。如下图:

     技术分享图片

 

这里对经常使用的几个属性作简单说明,并对Addition对话框进行属性设置说明。

       1.ID:对话框ID,唯一标识对话框资源,可以修改。此处为IDD_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.System Menu:是否带有标题栏左上角的系统菜单,包括移动、关闭等菜单项。我们使用默认的True。

       8.Title Bar:是否带有标题栏。我们使用默认的True。

       9.Font(Size):字体类型和字体大小。如果将其修改为非系统字体,则Use System自动改为False。而如果Use System原来为False,将其修改为True,则Font(Size)自动设置为系统字体。这里我们使用默认的系统字体。

 

       根据以上说明,其实我们只修改了标题属性。这时我们运行此程序后的界面如下:

技术分享图片

 

以上是关于VS2010-MFC(对话框:创建对话框模板和修改对话框属性)的主要内容,如果未能解决你的问题,请参考以下文章

(转载)VS2010/MFC编程入门之十三(对话框:属性页对话框及相关类的介绍)

VS2010-MFC(对话框:为控件添加消息处理函数)

VS2010-MFC(对话框:属性页对话框及相关类的介绍)

VS2010/MFC编程(对话框:模态对话框及其弹出过程)

VS2010-MFC(对话框:字体对话框)

(转载)VS2010/MFC编程入门之十一(对话框:模态对话框及其弹出过程)