- 2
- 0
- 约2.95千字
- 约 20页
- 2018-01-18 发布于河南
- 举报
第4章 对话框和公用控件
第4章 对话框和公用控件 对话框用于显示信息以及接受来自用户的输入。对话框通过利用诸如编辑控件、列表框、按钮控件等Windows控件来执行这一任务。这些控件有时称为“子控件”,因为它们通常作为对话框的子控件而创建。MFC封装了对话的类(CDialog)和几个可放在对话框上的不同控件,提供了一种面向对象的编程方式来使用对话和控件。本章知识点包括: 模态和非模态对话框 Windows控件资源 对话框及控件的使用 4.1 模式对话框和非模式对话框 对话框有很多种类型,并且每一种类型的对话框都有其特殊的用途。下面将讨论两种对话框:模式对话框和无模式对话框。模式对话框是最普通的对话框类型,这种对话框在没有消失之前会阻止应用程序其他部分的运行,禁止到父窗口的用户输入。无模式对话框当其被打开时,也允许应用程序的其他部分运行,允许用户输入到其父窗口。无模式对话框的一个例子就是Developer Studio中的查找和替换对话框。 4.1.1 使用对话编辑器 Visual Studio包括几个资源编辑器,可用来创建Windows应用程序的不同资源。这些编辑器中的对话编辑器是用于创建并编辑对话模板,当应用程序运行时,对话框根据该模板进行创建。使用对话编辑器可以实现以下这些事情: 创建新对话模板 编辑对话模板属性 在对话中添加控件或从对话中删除控件 组织和缩放对话的控件 编辑对话控件的属性 设置对话控件的制表次序 测试对话 4.1.2 CDialog类 如果使用MFC开发对话框应用程序,必然涉及到两个MFC类:CDialog类和CDataExchange类。本节重点介绍CDialog类。CDialog类封装了两类对话的功能:模式和非模式。当显示一个模式的对话框时,Windows禁止了对话框的父窗口的用户输入。相反,当显示一个非模式对话框时,Windows允许用户输入到对话框的父窗口。下面介绍如何使用CDialog类创建一个模式对话框。 4.1.3 对话框的数据交换和校验 一旦有了对话框,就要考虑如何实现从对话框中获得数据,传递给应用程序的变量或者文件,反之亦然。对话数据交换可以使程序员和用户在CDialog派生类中创建成员函数,该类与对话模板的控件关联。DDX变量有两个类别:控件和值。DDX控件类可以把MFC中的控件类和对话上的适当控件相联系。例如,对话框上的一个文本框可以和CEdit类的一个成员变量关联起来。 4.1.4 创建一个对话框应用程序 为了更好地完成本节的介绍,重新创建一个对话框应用程序DlgTest。 4.2 Windows控件资源 作为一个Windows应用程序的开发者,一定会和控件打交道,如按钮控件、列表框控件、文本框控件、组合框控件、进度条控件,树形视图等。为了简化Windows编程者的工作,微软将这些通用控件设计为Windows操作系统的一部分。本节就详细介绍Windows操作系统中的部分常用控件。 4.2.1 按钮控件 按钮控件是Windows系统中可使用的最灵活的控件。按钮是一种包含文本或者位图标识的特殊窗口,经常出现在对话框、工具条或者是其他包含控件的窗口中。常见的按钮有下压按钮(Pushbuttons)、单选按钮(Radio buttons)、复选框(Check boxes),分组框(Group boxes)。下面以下压按钮为例,详细介绍按钮的使用方法。对于按钮控件,使用最多的方式就是“单击”。所以需要给应用程序添加单击按钮的消息处理函数。 4.2.2 文本框控件 文本框控件的基本功能就是用来实现数据输入。下面继续使用例程DlgTest来说明文本框控件的使用。 4.2.3 列表框和组合框 列表框控件的基本功能用来让用户从大量的可能选项中进行选择。组合框是列表框控件和编辑框控件的组合。下面继续使用例程DlgTest来说明这两个控件的使用。 1.列表框控件 2.组合框控件 4.2.4 进度条控件 进度条控件通常用来说明一个操作的进度,并在操作完成时从左到右将进度控件填满。进度条控件可以用于各种“测量”和“进度”。进度条控件是非常容易向用户显示任务状态的方法,用户可以非常容易地观察项目的进度。下面继续使用项目DlgTest来讲述进度条控件的使用方法。 4.2.5 滑块控件 滑块控件是一个包含可以在两端之间移动的滑块的控件。滑块控件用在Windows的控件面板的显示中。用户使用鼠标拖动滑块或者将焦点设在键盘上,通过箭头来移动滑块。下面继续使用项目DlgTest来讲述滑块控件的使用方法。 4.3 对话框及控件的使用 本章的前面各小节逐步地讲述了对话框的种类以及使用,还讲述了常用的Windows公用控件。在本节,将对DlgTest进行详细地讲解和研究。本项目的功能包括对话框程序的简单使用及按钮控件、文本
您可能关注的文档
- 第11章 面向对象程序设计语言—VBA.ppt
- 第6章 CS和BS应用系统测试.pptx
- C++清华大学出版社 第八章 类和对象.ppt
- 云计算,多线程.ppt
- 3Javascript_函数.ppt
- VC++期末复习资料.doc
- 第八章 Windows的标准控件.ppt
- Access数据库2003教学课件-CH9.ppt
- 进程与线程 序列化与反序列化.ppt
- 第10章继承与多态性.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 2025高中英语教师课程标准考试模拟试卷及参考答案.docx VIP
- 第12课 绿意再生课件-赣美版(2024)初中美术七年级下册.pptx VIP
- 2025年青岛西海岸新区自主招生化学试题及答案.docx VIP
- 2024-2025学年江苏卫生健康职业学院单招《英语》考前冲刺练习(真题汇编)附答案详解.docx VIP
- GJ B 2446-2-2013 J30系列微矩形电连接器详细规范.pdf VIP
- 2025年内蒙古中考物理试卷及答案.docx VIP
- 第11课+传递绿色理念+课件+2024—2025学年赣美版(2024)+初中美术七年级下册.pptx VIP
- 2025年江苏卫生健康职业学院单招《数学》真题带答案详解(模拟题).docx VIP
- 2023年广东省中考道德与法治试卷真题及答案详解.pdf
- 相变的软模理论.ppt VIP
原创力文档

文档评论(0)