mfc对话框基础要点

mfc对话框基础要点

ID:37848446

大小:521.50 KB

页数:50页

时间:2019-06-01

mfc对话框基础要点_第1页
mfc对话框基础要点_第2页
mfc对话框基础要点_第3页
mfc对话框基础要点_第4页
mfc对话框基础要点_第5页
资源描述:

《mfc对话框基础要点》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章对话框  对话框是一种用户界面,它的主要功能是输出信息和接收用户的输入。对话框与控件是密不可分的,在每个对话框内一般都有一些控件,对话框依靠这些控件与用户进行交互。一个典型的对话框例子是选择了File-Open命令后弹出的文件对话框。5.1对话框和控件的基本概念5.1.1对话框的基本概念  对话框(Dialog)实际上是一个窗口。在MFC中,对话框的功能被封装在了CDialog类中,CDialog类是CWnd类的派生类。  对话框分为模态对话框和非模态对话框两种。大部分读者都会有这样的经历,当你通过File-Open命令打开一个文件对话框后,再用鼠标去选择菜单将只会发出嘟嘟声,这是因为

2、文件对话框是一个模态对话框。模态对话框垄断了用户的输入,当一个模态对话框打开时,用户只能与该对话框进行交互,而其它用户界面对象收不到输入信息。我们平时所遇到的大部分对话框都是模态对话框。非模态对话框的典型例子是Windows95提供的写字板程序中的搜索对话框,搜索对话框不垄断用户的输入,打开搜索对话框后,仍可与其它用户界面对象进行交互,用户可以一边搜索,一边修改文章,这样就大大方便了使用。本节主要介绍模态对话框,在第四节将介绍非模态对话框。  从MFC编程的角度来看,一个对话框由两部分组成:1.对话框模板资源。对话框模板用于指定对话框的控件及其分布,Windows根据对话框模板来创建并显示对

3、话框。2.对话框类。对话框类用来实现对话框的功能,由于对话框行使的功能各不相同,因此一般需要从CDialog类派生一个新类,以完成特定的功能。5.1.2控件的基本概念图5.1对话框中的控件  控件(Control)是独立的小部件,在对话框与用户的交互过程中,控件担任着主要角色。控件的种类较多,图5.1显示了对话框中的一些基本的控件。MFC的控件类封装了控件的功能,表5.1介绍了一些常用的控件及其对应的控件类。表5.1控件功能对应控件类静态正文(StaticText)显示正文,一般不能接受输入信息。CStatic图片(Picture)显式位图、图标、方框和图元文件,一般不能接受输入信息。CSt

4、atic编辑框(EditBox)输入并编辑正文,支持单行和多行编辑。CEdit命令按钮(Pushbutton)响应用户的输入,触发相应的事件。CButton检查框(CheckBox)用作选择标记,可以有选中、不选中和不确定三种状态。CButton单选按钮(RadioButton)用来从两个或多个选项中选中一项。CButton组框(GroupBox)显示正文和方框,主要用来将相关的一些控件聚成一组。CButton列表框(ListBox)显示一个列表,用户可以从该列表中选择一项或多项。CListBox组合框(ComboBox)是一个编辑框和一个列表框的组合。分为简易式、下拉式和下拉列表式。CCo

5、mboBox滚动条(ScrollBar)主要用来从一个预定义范围值中迅速而有效地选取一个整数值。CScrollBar控件实际上都是窗口,所有的控件类都是CWnd类的派生类。控件通常是作为对话框的子窗口而创建的,控件也可以出现在视窗口,工具条和状态条中。  对话框的设计包括对话框模板的设计和对话框类的设计两个主要方面。    1.与对话框有关的消息主要包括WM_INITDIALOG消息和控件通知消息。在对话框创建时,会收到WM_INITDIALOG消息,对话框对该消息的处理函数是OnInitDialog。2.OnInitDialog的主要用处是初始化对话框。对话框的控件会向对话框发送控件通知消

6、息,以表明控件的状态发生了变化。5.2对话框模板的设计  利用DeveloperStudio提供的可视化设计工具,用户可以方便地设计对话框模板。  请读者按前面章节介绍的方法利用AppWizard建立一个名为Register的MFC应用程序,并在进入MFCAppWizard对话框后按下面几步操作:1.在第1步中选中Singledocument以建立一个单文档应用程序。2.在第4步中使Dockingtoolbar项不选中,这样AppWizard就不会创建工具条。3.在第6步中先选择CRegisterView,然后在Baseclass栏中选择CEditView,这样CRegisterView将是

7、CEditView的继承类,从而使视图具有了编辑功能。  编译并运行Register,读者会发现Register居然是个编辑器,它可以打开、编辑和保存文本文件。 当然,Register的目的不仅仅是个编辑器。假设要对某一地区的就业情况进行调查,我们希望Register程序能够登录就业情况数据并将数据存储起来。要登录数据,用对话框是再合适不过了。一个典型的就业情况登录对话框如图5.1所示,本节的任务就是设计如图

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。