4 对话框及常用控件 (第四章 对话框和常用控件)

合集下载

第四章对话框和常用控件

第四章对话框和常用控件
第二章 对话框和常用控件
2.1 对话框和控件概述
对话框是一种用户界面,它为用户提供了一种标准的处理数据的 方法。 从本质来说,对话框实际上是一个窗口,在MFC层次结构中, 对话框实际上是封装在Cdialog中,Cdialog类是CWnd类的派生类, 它是所有对话框的基类 对话框由两部分组成:对话框资源和对话框类。 控件是在系统内部定义的用于和用户交互的基本单元。
2.8.3 列表框
1. 列表框的风格和消息 按性质来分,列表框有单选、多选、扩展多选以及非选四种类型
图 不同类型的列表框
2.8.3 列表框
当列表框中发生了某个动作,如用户双击选择了列表框中某一项 时,列表框就会向其父窗口发送一条通知消息。
表 列表框的通知消息
2.8.3列表框
列表框的项除了用字符串来标识外,还常常通过索引来确定。索 引表明项目在列表框中排列的位置,它是以0为基数的,即列表框中 第一项的索引是0,第二项的索引是1 (1) 添加列表项
2.2 对话框的常用操作
1.创建对话框资源 在Visual C++中,用户通过工作区窗口可以方便的创建对话框资 源。主要有两种方式:(1)利用工作区的“Resource View”选项卡创 建对话框资源;(2)通过工作区的“ClassView”选项卡创建对话框 资源。
默认对话框 模板 默认对话框 资源ID号
2.8 工具箱中的常用控件
为了方便开发人员进行界面布局,Visual C++开发环境提供了一 个控制面板窗口,其中包含了各种常用的控件。
控件的选择 静态文本 组框 复选框 组合框 水平滚动条 旋转按钮 滑动条 列表视图 标签 复合编辑 月历 静态图片 编辑框 按钮 单选框 列表框 垂直滚动条 进展条 热键 树形视图 动画 日期选择 IP地址

对话框和常用控件

对话框和常用控件
CObject CCmdTarget CWnd
CDialog
Visual C++程序设计
CDialog类从CWnd类派生而来,所以它继承了 CWnd类的成员函数,具有CWnd类的基本功能 , 在 你 的 CDialog 类 的 派 生 类 中 可 以 直 接 调 用 CDialog类的成员函数。大部分的成员函数是虚 函数,可以在你的派生类中重载,以实现特定的 目 的 。 除 了 CDialog 类 成 员 函 数 , 类 CWnd 和 CWinApp也提供了一些成员函数用于对话框的 管理。
对话框保留在屏幕的同时,用户还可以在应用程序 其它窗口中进行工作的对话框称为非模态对话框。例 如,Word字处理软件中的Find 和Replace对话框 就是非模态对话框的一个很好的例子。
4.1.2 对话框的组成
对话框模板
对话框模板定义了对话框的特性(比如大小、位 置和风格)以及对话框中每个控件的类型和位置。 程序员不仅可以使用对话框资源编辑器建立对话框 资源模板外,还可以根据需要在内存中创建对话框 模板。当对话框模板创建后,程序员好可以在创建 和管理对话框时动态地改变部分控件的信息,如禁 止、变灰、改变标题和大小。
从程序员角度来看,对话框和控件都是窗口,查看 MSDN中的MFC组织图可以看到,它们都是从 CWnd类派生来的,这正好说明了“对话框和控件都 是窗口”。因此,对对话框的操作,经常要使用窗口 的成员函数来进行。
4.1.1 对话框的分类
1.模态对话框 在对话框关闭之前,用户无法在应用程序的其它窗
口中进行工作的对话框称为模态对话框。例如 Windows的各种应用软件中的Open File 对话框, 用户不能在应用程序的其它地方工作,直到对话框关 闭。 2.非模态对话框

对话框与通用控件

对话框与通用控件



CScrollBar* pSB = (CScrollBar*) GetDlgItem(IDC_LOYAL); pSB->SetScrollRange(nMin, nMax); pSB = (CScrollBar*) GetDlgItem(IDC_RELY); pSB->SetScrollRange(nMin, nMax);
为对话框提供控件形式的滚动条
常用于为其它控件提供标签 显示连续的AVI视频剪辑 位于某一行文本之上的按钮, 可用来控制显示文件的宽度
热键
CHotKeyΒιβλιοθήκη trl用于通过按下某一组合键
来很快的执行某些常用的操作
图象列表 列表 进度
CImageList CListCtrl
一系列图象 显示文本及其图标列表的窗口
#include "exaView.h" #include "exaDialog.h"
6.编译和测试该应用程序。
深入理解EXA应用程序
当程序中调用了DoModal时,只有在用户关闭 了对话框后,控制才能返回到程序中。只有 理解了这点,才算理解了模式对话框。当我 们开始学习无模式对话框时,就会深切地体 会到模式对话框的程序设计是多么的简单, 不过当DoModal被调用时,实际上在“幕后” 将引起一系列的动作。我们将一些调用关系 总结如下:
void CExaView::OnLButtonDown(UINT nFlags, CPoint point) { CEx06aDialog dlg; //建立对象 dlg.m_strName = "Shakespeare, Will"; dlg.m_nSsn = 307806636; dlg.m_nCat = 1; // 0 = hourly, 1 = salary dlg.m_strBio = "This person is not a well-motivated tech writer"; dlg.m_bInsLife = TRUE; dlg.m_bInsDis = FALSE; dlg.m_bInsMed = TRUE; dlg.m_strDept = "Documentation"; dlg.m_strSkill = "Writer"; dlg.m_strLang = "English"; dlg.m_strEduc = "College"; dlg.m_nLoyal = dlg.m_nRely = 50;

对话框和控件

对话框和控件

对话框的使用——使用无模式对话框
❖ 对话框的分类: ➢ 模式对话框:当对话框被弹出,用户必须在对话框中作出相
应的操作,在退出对话框之前,对话框所在应用程序的其他 操作不能继续执行。 ➢ 无模式对话框:当对话框被弹出后,一直保留在屏幕上,用 户可继续在对话框所在的应用程序中进行其他操作;当需要 使用对话框时,只需像激活一般窗口一样单击对话框所在的 区域即可激活。举例说明。
对话框资源类型表
说明
IDD_DIALOGBAR
对话条,往往和工具条停放在一起
IDD_FORMVIEW
一个表状风格的对话框,用于无模式对 话框或视图类
IDD_OLE_PROPPAGE_LARGE 一个大的OLE属性页
IDD_OLE_PROPPAGE_SMALL 一个小的OLE属性页
IDD_PROPPAGE_LARGE
对话框的使用—添加对话框资源
对话框的使用—设置对话框属性
在对话框模板处单击鼠标右键,从弹出的快 捷菜单中选择“属性”菜单项,出现“对话 框属性”界面。可以进行各项的设置。
对话框的使用—设置对话框属性
对话框的使用——添加和布局控件
控件的添加:在对话框中添加控件的方法有下列几种: 在控件工具栏中单击某控件,此时的鼠标箭头在对话框内变 成“┼”字形状;在对话框指定位置单击鼠标左键,则此控件 被添加到对话框的相应位置,再拖动刚添加控件的选择框可 改变其大小和位置。
对话框的使用—添加对话框资源
❖ 在一个MFC应用程序中添加对话框资源,通常按下列步骤进行: ❖ (1)选择“插入”->“资源”,或按快捷键Ctrl+R打开“插入资源”对话框,
在对话框中可以看到资源列表中存在Dialog项,展开该项可以看到对话框资源 的不同类型选项。

第4章 窗体和常用控件

第4章  窗体和常用控件
用途 窗体的名称,供相关程序使用 窗体标题栏显示的文本 窗体的背景颜色 窗体的前景色 窗体的边框风格 窗体是否具有控制菜单 窗体是否对用户事件作出响应 窗体的高度 窗体的宽度 窗体距屏幕左边的距离 窗体距屏幕顶部的距离 窗体是否具有最大化按钮 窗体是否具有最小化按钮 程序运行时窗体是否能够移动
VB采用了事件驱动的编程机制。当没有事件发生时,程序处 于停滞状态,只有事件发生时,程序才会运行。窗体除了 Click事件外,还有以下常见的事件。 (1)Initialize事件 当窗体第一次创建时会触发Initialize事件,一般将窗体的初 始化代码存放在该事件过程中。 (2)Load 事件 在一个窗体被装载时触发Load事件。通常,Load 事件过程用 来包含一个窗体的启动代码,例如,指定控件缺省设置值等。 (3)Unload事件 运行程序后,如果关闭窗体,就会触发Unload事件。 (4)Activate事件 当一个窗体变为活动窗体时,就会触发Activate事件。
Private Sub Option1_Click() = "宋体" End Sub Private Sub Option2_Click() = "黑体" End Sub Private Sub Option3_Click() = "楷体" End Sub
其主要属性是Caption属性,该属性用于设置在 按钮上显示的文本,命令按钮见事件是Click事件。
【例4-3】
对象属性设置如表所示。
对象名称 属性 Text1 Text Text2 Text Text3 Text Locked Label1 Caption Label2 Caption Label3 Caption Command1 Caption 属性值 空白 空白 空白 True 加数1 加数2 和 求和 说明 程序启动时文本框内无文本 程序启动时文本框内无文本 程序启动时文本框内无文本 设置该文本框不可编辑 标签框标题 标签框标题 标签框标题 命令按钮标题

4.1 对话框和常用控件

4.1 对话框和常用控件
控件的选择 静态文本 静态图片 编辑框
组框
复选框 组合框 水平滚动条 旋转按钮 滑动条 列表视图
按钮
单选框 列表框 垂直滚动条 进展条 热键 树形视图
标签
复合编辑 月历 用户定制工 具 控件工具栏和各按钮含义
动画
日期选择 IP地址 组合框的扩 展
4.1对话框的使用
(2)单个控件的选取 鼠标选取 保证选择按钮( )是被选中的,移动鼠标指针至指定的控件上,单击鼠标左键。 助记符选取 在相应的控件上右击。选择“Properties”菜单项,对话框中的“Caption”框是用来 输入控件的标题,在标题中的某个字母之前键入“&”符号,则该字母就是此控件的助记符。 Tab键选取 利用Tab键,可在对话框内的控件中进行选择。每按一次Tab键依次选取对话框中 的下一个控件,若按住Shift键,再单击Tab键则选取上一个控件。 (3)多个控件的选取 在对话框内按住鼠标左键不放,拖出一个大的虚框,释放鼠标,则被该虚框所包围的控件 都将被选取。 先按住Shift键不放,用鼠标选取控件,直到所需要的多个控件选取之后再释放Shift键。若 在选取时,对已选取的控件再选取一下,则该控件取消选取。 一旦单个控件被选取后,其四周由选择框包围着,选择框上还有几个(通常是八个)蓝色实 心小方块,拖动它可改变控件的大心小方块,这个控件称为主 要控件,而其他控件的选择框的小方块是空心的。如图。
标尺
控件工具栏
基准线
布局工具栏
打开的对话框编辑器
4.1对话框的使用
在对话框中添加和编辑控件
(1)控件添加的方法



在对话框中添加一个控件的方法有下列几种: 在控件工具栏中单击某控件,鼠标箭头在对话框内变成“十”字形状;在对话框指定 位置单击鼠标左键,再拖动选择框可改变控件的大小和位置。 在控件工具栏中单击某控件,鼠标箭头对话框内变成“十”字形状;在指定位置处单 击鼠标左键不放,拖动鼠标至满意位置,释放鼠标键。 用鼠标左键点中控件工具栏中的某控件,并按住鼠标键不放;在移动鼠标到对话框的 指定位置的过程中,会看到一个虚线框,下面带有该控件的标记;释放鼠标键。

MFC常用控件

MFC常用控件

精选2021版课件
7
CDialog类提供的函数成员
函数成员名
功能
Cdialog 构造Cdialog对象
Create 初始化CDialog对象
CreateIndirect 从内存中的对话框模板建立无模式对话 框
DoModal 显示有模式对话框
EndDialog
关闭有模式对话框
GotoDlgCtrl 把焦点移到对话框中指定的控件
精选2021版课件
14
精选2021版课件
15
列表框的基本操作
1.通用方法
通用方法用来获得和设置列表框数据的 值和属性,
所有的CListBox列表框,包括单选列表 框、多选列表框和自绘列表框等都有这 些方法。
精选2021版课件
16
2、单项选择特定方法 列表框的默认模式是单选项模式;
所有的通用方法均适用于单选项列表框。
精选2021版课件
30
使用CFileDialog对话框的步骤如下: 1.创建CFileDialog对象, CFileDialog的构造函数如下: CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY |
UpdateData(FALSE)将数据传送到对话框中,缺省的调用 发生在对话框的OnInitDialog( )创建一个有模式对话 框时。
用户可以在任何时候调用UpdateData( )进行数据交换, 该函数参数缺省值为TRUE。
示例:
显示Edit控件内容的两种方式
精选2021版课件

对话框和常用控件

对话框和常用控件

第4章对话框和常用控件对话框是Windows应用程序中最重要的用户界面元素之一,是与用户交互的重要手段,在程序运行过程中,对话框可用于扑捉用户的输入信息或数据。

对话框是一个特殊类型的窗口,任何对窗口进行的操作(如:移动、最大化、最小化等)都可在对话框中实施,一般来说,在对话框中通过各种控件(如:按钮、编辑框、列表框、组合框等)来和用户进行交互。

控件是在系统内部定义的用于和用户交互的基本单元。

4.1对话框的使用Visual C++提供的对话框编辑器能“可视”地进行设计、编辑,并可用ClassWizard为对话框从CDialog基类中派生一个类,MFC的CDialog类封装了用于对话框的显示、关闭等操作的许多功能函数,例如:DoModal函数用来显示模式对话框并返回用户操作的结果。

在Visual C++6.0应用程序中,使用一个对话框的一般过程是:(1)添加对话框资源;(2)设置对话框的属性;(3)添加和布局控件;(4)创建对话框类;(5)添加对话框代码;(6)在程序中调用对话框。

例如:例1:模式对话框(为175页附加举例)所谓模式对话框是指,当对话被弹出时,用户必须在对话框中进行相应的操作,在退出对话框之前,对话框所在的应用程序不能继续执行。

平常我们所见到的对话框大多是模式对话框。

例:模式对话框(通过菜单命令弹出)1)建一个单文档(SDI)应用程序2)创建对话框模板Insert→Resource→选中Dialog→单击New拖过一个静态文本,鼠标对准它,按右键点properties改标题为“新建模式对话框”。

3)鼠标右键对准对话框的任何位置单击,选择properties选项,设置ID为IDD_MYDIALOG 4)给对话框创建类双击新建对话框的任何位置,单击OK,写类名为“CMyDlg”,保证”CDialog”作为该类的基类。

5)创建菜单命令:a)打开资源编辑器的菜单项Menub)双击IDR_MAINFRAMEc)双击右边空白菜单,点开pop_up(让它是空白),在名字处写”弹出对话框(&A)”,ID 处写ID_PUPDIALOG6)将菜单命令连接到主框架程序中,完成ID_PUPDIALOG的消息映射:View→ClassWizard→保证Class name里是CMainFrame,在ObjectIDs里找到ID_PUPDIALOG点黑→Messages里(右边)点COMMAND建立主框架对象方法并加代码:void CMainFrame::OnPupdialog(){ CMyDlg MyDlg;MyDlg.DoModal(); //DoModal()是CDialog类成员函数,通过调用该//函数将显示对话框。

对话框及常用控件

对话框及常用控件

统一的视觉风格
对话框的视觉风格应与应 用程序的整体风格保持一 致。
合适的色彩搭配
对话框的颜色搭配应符合 应用程序的主题和风格, 同时也要考虑色彩的对比 度和舒适度。
精美的图标和插图
对话框中可以适当地使用 图标和插图,以提高视觉 效果和用户体验。
一致性
对话框布局一致
不同对话框的布局和组件应保持一致,以提高用户对 应用程序的熟悉度和使用效率。
提示对话框
总结词
提供简短信息或警告的对话框
详细描述
提示对话框通常用于向用户显示应用程序的状态或提 供简短的通知。它包含一个标题、一条消息和一个关 闭按钮。根据需要,提示对话框还可以包含图标以强 调其重要性。
感谢观看
THANKS
按钮
总结词
用于触发特定功能的控件
详细描述
按钮是常见的交互控件,用户点击按钮后可以触发特定的功能或操作。根据功 能,按钮可分为确认、取消、提交等类型。
列表框
总结词
用于显示和选择列表项的控件
详细描述
列表框可以显示一系列的列表项,用户可以通过鼠标或键盘选择所需的列表项。根据选择方式,列表 框可分为单选列表框和多选列表框。
对话框的分类
模态对话框
模态对话框会阻塞用户对其他界面的 操作,直到对话框关闭。这类对话框 常用于需要用户做出决策或输入的情 况。
非模态对话框
非模态对话框不会阻塞用户对其他界 面的操作,用户可以在对话框打开的 同时进行其他操作。这类对话框常用 于显示信息或提供简单的选项。
对话框的使用场景
确认操作
01
复选框
总结词
用于表示选项是否被选中的控件
详细描述
复选框是一种开关控件,用户可以通过点击来选中或取消选中某个选项。多个复选框可 以组合在一起,表示多个选项的组合。Fra bibliotek单选按钮

轻松学VisualC之常用控件介绍

轻松学VisualC之常用控件介绍

单选框按钮例子
下面举个单选框的小例子,实现单击“查询” 按钮弹出用户所选择的职业。
5.4 复选框按钮
复选框按钮(Check Box)也是Windows提 供的又一种很常见的按钮。但是使用的时候不 需要像单选按钮那样进行分组。可以使用复选 按钮,从一组选项中选择一个选项或多个选项, 各个选项之间的选中状态互不相关。本节也只 介绍复选框最常用的操作,其它一些属性或控 件类型变量的使用可根据前几节介绍的方法自 己尝试或查看相应的帮助文档。
第5章 常用控件介绍
控件是Windows应用程序的图形界面的重要组成 部分,用户可以通过控件完成与应用程序的交互。 控件其实在MFC中是对数据和方法的封装,当然 控件就有自己的属性和方法。在MFC中,所有的 控件都是由CWnd类派生来的,所以控件可以作 为对话框的子窗口而创建。本章以对话框程序为 基础介绍一些基本和常用的控件,学习掌握 Windows控件一般的使用方法和步骤。
5.3 单选按钮
使用单选按钮(Radio Button)从一组选 项中选择唯一一个选项,当我们在填写表格 时经常会用到。例如,在一组职业中选择你 的职业等。本节讲解单选按钮最常用的操作 及一些特点。
单选按钮的特点及其应用
单选按钮(Radio Button)不同于前面讲的 那些控件,它有自己一套独特的操作方式。 单选按钮通常以组的方式呈现,在组中选择 符合要求的那个选项。
输入
信息是否已存在
N
插入
选择
Y
调整顺序
显示
5.7 列表视图控件
在5.5节讲过列表框,列表视图可以当做是 功能增强型的列表框。列表视图控件可以很 好的用来显示项目元素,在编写数据库软件 时也经常会用到。在Windows系统中文件 夹目录也是以列表视图呈现。

对话框及控件

对话框及控件

对 Student 程序,可在用户按添加菜单项/按钮时,弹出对话框,让用户输入学生的姓名 和成绩。具体操作如下: (1) 创建对话框资源 l 计 划 用 对 话框 编 辑 器 建 立 一 个 如 下 图 所 示 的 输 入 对话 框 资 源 : 在 项 目 工作 区 的 ResourceView 页中 Dialog 项上单击鼠标右键,在弹出菜单中选 Insert Dialog 项,VC 会 自动创建一个 ID 为 IDD_DIALOG1、标题为 Dialog、含 OK 与 Cancel 按钮的缺省对话 框,并打开对话框编辑器(包括对话框资源编辑窗口和控件工具栏窗口)
对话框的组成
资源和控件:
我们已经了解到,对话框实际上是一种窗口,那么它和我们已经见过的 CView 窗 口有什么不同呢?其中很重要的一个区别就在于, 对话框窗口几乎总是和 Windows 的资源
一起,这些资源标识了对话框中的元素,同时也指定了对话框的布局。由于我们可以用 资源编辑器来创建和编辑对话框资源,因此,我们可以以可视的方式迅速而有效地创建 对话框。对话框包含了一些被称为控件的元素,对话框控件包括编辑控件(即文本框)、 列表框、组合框、静态文本(即标签)、树状视图、进度指示器和滑块等等,这些对话框 的控件既可以通过 CWnd 的指针来引用(因为它们本身实际上就是窗口)。 控件通过向上级 对话框发送消息响应用户的动作,如输入了正文或按下了鼠标键等。对话框和控件有自 己相应的类,如对话框由 CDialog 类来管理,编辑框由 CEdit 类来管理。
对话框及控件
对话框(dialog box)是 GUI 的常用组件,也是其最复杂的组件,主要用于接收用户的各 种输入和选择,也可用于向用户显示信息。在对话框中可以包含文本框、编辑框、列表框、 组合框、按钮、单选钮、复选框等各种控件(control),供用户查看、输入和选择。 几乎所有的 Windows 应用程序都要借助于对话框窗口来和用户打交道,这种对话框可 以是简单的 OK 消息框, 也可以是较复杂的数据输入窗体。 对话框实际上是一个真正的窗口, 可以接受消息,而且还可以被移动和关闭,甚至可以在它的客户区中进行绘图操作。对话框 可分为“模式”和“无模式”两大类。 按工作方式不同,可将对话框分成两类: l 模式对话框(modal dialog box 模态对话框):在关闭模式对话框之前,程序不能进行其他 工作(如一般的“打开文件”对话框) l 无模式对话框(modeless dialog box 非模态对话框):模式对话框打开后,程序仍然能够 进行其他工作(如一般的“查找与替换”对话框)

第四章_常用WINDOWS窗体控件

第四章_常用WINDOWS窗体控件

描述
超链接字符颜色 超链接发生瞬间字符颜色 超链接完成后字符颜色 控制超链接区域
§4.5 单选按钮控件
单选按钮(RadioButton)控件是让用户在一组 选项中选定一项且只能选中一项。若窗体内仅有一组 RadioButton控件,则可将它们简单的放置在窗体内, 但如果在同一窗体中有多组RadioButton时,则需要 将其放置到框架(GroupBox)控件中。
2.不选:“ቤተ መጻሕፍቲ ባይዱ
”标志消失。
CheckBox1.Checked = True CheckBox1.Checked = False
复选框常用属性表
常用属性
Checked FlatStyle CheckState


设置为True, CheckBox被选定 设置False, CheckBox未被选定 用来设置单选纽的外观 CheckState = Checked 被选中状态 CheckState = UnChecked 未被选中状态 CheckState = Indeterminate 不可用状态(当 ThreeState属性设置为true时有效) 设定控件按钮与文本的位置关系
§4.9 树形视图控件和列表视图控件
树形视图(TreeView)控件是显示结点(Node)对象 的等级体系结构,每个Node对象包含了一个标签和 可选的点位图。TreeView控件通常用来显示文档头、 索引中的条目、磁盘上的文件和目录或者可以显示为 等级结构的各种信息。Windows资源管理器左侧部分 就是一个典型的树形结构。
第四章 常用WINDOWS窗体控件
本章主要介绍以下内容:
l l l l l l l l l
标签控件 文本框控件 命令按钮控件 超级链接控件 复选框控件 单选框控件 列表框控件 下拉框控件

对话框及其应用

对话框及其应用

示例2:dxan:dialog{
label="确定图纸幅面"; :boxed_radio_row{label="幅面规格"; :radio_button{label="A0"; key="a0"; } :radio_button{label="A1"; key="a1"; } :radio_button{label="A2"; key="a2"; } :radio_button{label="A3"; key="a3"; } :radio_button{label="A4"; key="a4"; } :radio_button{label="A5"; key="a5"; value=5;} } ok_cancel; }
续前: :edit_box{label="半径R(mm)="; mnemonic="R"; key="R";value=25;} ok_cancel; }
示例4:
示例4的显示结果:
示例5:
示例5的显示结果:
第六讲 对话框的程序驱动
能够编写对话框文件,仅仅是迈出了对 话框设计的第一步,事实上,编写对话 框文件比较容易,而要控制对话框,使 之实现应有的功能,就要下更大的功夫。 要显示编写的对话框并有效控制它,需 要结合AutoLISP编程。AutoLISP提供了 处理对话框的各种管理函数,利用它们 可以实现DCL文件的各种控制。
(action_tile “accept” “(done_dialog)”) (action_tile “cancel” “(setq a –1) (done_dialog)”)

《Visual C++程序设计教程》第四章对话框设计和Windows常用控件

《Visual C++程序设计教程》第四章对话框设计和Windows常用控件
第4章 对话框设计和Windows常用控件
4.1 对话框应用程序介绍


1.对话框组成 对话框主要由以下两部分组成: (1) 对话框资源:定义了对话框的特性(如大小、位 置和风格等)以及对话框中每个控件的类型、位置等 属性。一般情况下,对话框资源在资源编辑器中静 态地定义,也可以用编程的方法在程序运行时动态 地创建。 (2) 对话框类:对话框类是与对话框资源相关联的, 基于CDialog类的派生类,它提供编程接口来管理对 话框。



1.通过资源编辑器添加控件 打开对话框资源编辑器弹出如图48所示的控 件工具栏之后,就可以方便地在对话框中添加 各种控件了。 (1)单击添加:在控件工具栏上单击要添加 的控件后,将鼠标移动到对话框模板上,此时 鼠标光标变成了“+”形状,在对话框上再次单 击鼠标,控件就添加到对话框模板上了。 (2)拖动添加:拖动要添加的控件到对话框 模板上,然后释放鼠标,也可以添加控件。
(2)单击“新建”按钮可以创建一个资源类型列表中指定类 型的新资源;单击“定制”按钮可以创建资源类型列表中 没有的新类型的资源;单击“导入”按钮可以将外部已有 的位图、图标等资源添加到当前应用程序中。 (3)修改对话框属性。在对话框模板的空白处右击,从弹出 的快捷菜单中选择“属性”命令,弹出如图4-3的“对话属 性”对话框。

4.列表框控件(CListBox) 列表框是一种输入控制,它可以使用户从所列的表 项中进行选择。用户可以在其中选择一个或多个项, 这与单选按钮和复选框的功能有些相近,但不同的 是,列表框中项的数目是灵活变化的,程序运行时 可往列表框中添加或删除某些项。并且,当列表框 中项的数目较多不能一次全部显示时,还可以通过 滚动条来拓展显示范围。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.什么是对话框?它分为哪两类?这两类对话框有哪些不同?
答:对话框是一种特殊的窗口,主要功能是输出信息和接收用户的输入。

对话框分为有模式对话框和无模式对话框。

当一个有模式对话框打开时,用户只能与该对话框进行交互,而其他用户界面对象收不到输入信息。

而无模式对话框打开时,用户可以同时打开其他窗口对象,操作完毕后,又可用鼠标或其他方式激活该窗口。

2.什么是对话框模板、对话框资源和对话框类?
答:对话框模板是一个描述对话框的内存结构,用于添加控件及其布局。

对话框资源指快捷键、对话框、菜单、字符串、工具栏按钮、图表、版本信息等。

对话框类用于实现对话框功能。

3.对一个对话框编程一般经过几个步骤?
答:1. 在资源编辑器中画对话框,添加控件,设定控件位置、大小、ID和其它属性;
2. 定义对话框回调函数,添加控件的事件处理函数;
3. 注册对话框函数
4、什么是控件?根据控件的性质可以将控件分为几类?
答:在Windows中所用的按钮控件是用来实现一种开与关的输入。

常见按钮类型:按键按钮、单选按钮、复选框按钮。

5.向对话框添加一个常用控件的方法有哪些?这些方法是否使用于ActiveX控件?
答:1、先点击控件,然后在对话框上单击,
2、先点击控件,然后在对话框上点住不放,画出像要的大小。

否。

6.什么是DDV/DDX技术?如何使用这种技术?
答:DDX(对话框数据交换)机制用来初始化对话框中的数据,并向应用程序返回数据,它使得用户向对话框加载对象数据和当对话框关闭时恢复其中的数据这两个过程自动化。

DDV(对话框数据验证有效性)机制用于将数据返回成员变量之前将数据的长度和范围有效化。

7.什么是空间的通知消息?它在编程中起哪些作用?
答:控件消息由按钮(BN_)、编辑框(EN_)、组合框(CBN_)和列表框(LBN_)等产生。

控件通过向父窗口发送控件通知消息来表明发生了某种事件。

8.什么是按钮控件?它有几种类型?
答:按钮控件常用来接收用户的操作信息,激发相应的事件,按钮是用户与程序交互的最简便的方法。

它有下压按钮、单选按钮、复选框、用户自定义按钮。

按钮控件用来表示用户的选择。

它包括命令按钮、复选框和单选框。

9、什么是编辑框控件?它有哪些功能?
答:编辑框控件是一个简易的文本编辑器,用户可以在编辑框中输入并编辑文本。

编辑框控件可以自带滚动条,显示多行文本。

10、编辑框控件中的EM-CHANGE和EN-UPDATE通知消息有何异同?
答:两者都是编辑框控件的内容改变之后发送,不同的是EN_CHANGE是在编辑框显示的正文被刷新后才发出。

11、向某一个应用程序添加一个对话框,并在对话框中添加一个按钮和一个编辑框,当单击按钮后,在编辑框中显示“你好!”字样。

12、什么是列表框和组合框?它们的通知消息有何异同?
答:列表框是一个矩形窗口,在矩形窗口中可包含一系列的字符串,也可以包含其他的数据元素。

组合框把一个编辑框和一个单选择列表框结合在了一起,用户既可以在编辑框中输入,也可以从列表框中国选择一个列表项来完成输入。

13、在例[Ex-CommCtrls]的CListBoxDlg对话框中,如何使登记的成绩是4门课程,则对话框中的控件应如何添加?代码应如何修改?
14、什么是旋转按钮的“伙伴”控件?如何设置?
答:“伙伴”控件是和旋转按钮同存在的用来共同显示和控制某一值。

在对话框模板中,可以方便地为旋转按钮指定一个伙伴控件。

首先在旋转按钮的控件属性对话框中旋转Auto buddy和Set buddy integer属性,并在Alignment栏中旋转Left或Right,然后就可以确定伙伴控件了。

15、在MFC中,通用对话框有哪些?如何在程序中使用它们?
答:文件选择对话框、颜色选择对话框、字体选择对话框、打印和打印设置对话框以及正文查找和替代对话框。

16、如果消息对话框只有“是”和“否”两个按钮,则如何设置MessageBox函数的参数?
答:MessageBox(NULL,“显示的内容”,“标题”,MB_YESNO)。

相关文档
最新文档