Windows程序设计 第3章 对话框和常见控件

合集下载

第3章 Windows窗体与控件

第3章 Windows窗体与控件

3.1. 5 创建应用程序的操作界面
5. 设置所有控件的Tab键顺序索引
• Tab键顺序是指当用户按下Tab键时,焦点在控件间移动 的顺序。每个窗体都有自己的Tab键顺序,每个控件在窗体 上也都有唯一的Tab键顺序索引。默认状态下,控件在窗体 上的Tab键顺序索引与建立控件的顺序一致。如果要设置窗 体上控件的Tab键顺序索引,可以分别对每个控件设置其 TabIndex属性,也可以集中设置所有控件的Tab键顺序索引。 • 要集中设置所有控件的Tab键顺序索引,可以选择菜单 【视图|Tab键顺序】命令。如果需要改变多个控件的Tab键 顺序索引,按照想设置的顺序依次单击各个控件。【Tab键 顺序】命令是一个切换命令,因此设置好所有控件的Tab键 顺序索引之后,再次选择【Tab键顺序】命令即可结束Tab键 顺序索引的设置。
目录
3.1 窗体 3.2 几种常用控件 3.3 本章小结
3.1 窗体
• 窗体(Form)就是平常所说的窗口,各种控件对象必须建 立在窗体上。窗体对象是Visual C#应用程序的基本构造 模块,是运行应用程序时与用户交互操作的实际窗口。窗 体有自己的属性、方法和事件,用于控制其外观和行为。
• 3.1.1 窗体的结构
3.1. 5 创建应用程序的操作界面
3. 调整控件的尺寸和位置
• 调整控件的尺寸和位置,可以通过设置控件的相应属性 来实现。但在要求的精确度不高的情况下,最快捷的方法是 在窗体设计器中直接用鼠标调整控件的尺寸和位置。 • 用鼠标调整控件尺寸的步骤如下: (1) 用鼠标单击需要调整尺寸的控件,选定的控件上出现8 个尺寸手柄。 (2) 将鼠标指针定位到尺寸手柄上,当鼠标变为双向箭头时 按下鼠标左键,拖动该尺寸手柄直到控件达到所希望的大 小为止。控件角上的4个尺寸手柄可以同时调整控件水平 和垂直方向的大小,而边上的4个尺寸手柄调整控件一个 方向的大小。 (3) 松开鼠标左键。 • 提示:也可按Shift键加上箭头键,来调整选定控件的尺寸。

最新常用WINDOWS窗体控件PPT课件

最新常用WINDOWS窗体控件PPT课件

§4.16 对话框控件
对话框控件是一个总体的概念,提供了 Windows操作系统下的标准对话框。具体的可细 分为打开文件对话框(OpenFileDialog)、保存文 件对话框(SaveFileDialog)、文件夹浏览对话框 (FolderBrowserDialog)、字体对话框 (FontDialog)、颜色对话框(ColorDialog)、打 印对话框(PrintDialog)和打印预览对话框 (PrintPreviewDialog)等。
日期控件常用属性表
常用属性


BoldedDates 使用粗体标注出来的日期,该属性为一集合
Dock
控制日历表的位置
MaxDate
日历所能显示的最大日期,默认为9998-12-31
MinDate
日历所能显示的最小日期,默认为1753-1-1
ShowToday 是否将当前日期用红色圈住出来
§4.14 进度条控件
描述 列表框名称 为列表框添加选项 提供多种选择模式供列表框使用 获取或设置ListBox中当前选定项的索引,索引值从0开始
SelectedItem SelectedIndices SelectedItems Sorted Text
获取或设置ListBox中当前选定项的内容值 获取一集合,该集合包含ListBox中所有选定项的索引 获取一集合,该集合包含ListBox中所有选定项的内容值 控制各选项是否按字母顺序排列 获取被选中列表项的值
进度条(ProgressBar)控件用来显示事务处 理的进度。比如执行一个耗时较多的操作,通 过进度条可以显示操作处理的进度。 ProgressBar通过在水平条中显示适当数目的矩 形来指示进程的进度。进程完成时,进度条被 填满。

对话框和常用控件

对话框和常用控件
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;

Windows窗体与控件(三)

Windows窗体与控件(三)


控件的命名规则
图 控件命名
lbl
Stu Name
lblStuName 控件名称 姓名(Name) 学生(Student) Label控件
下表 列出了常用控件名的前缀约定。
控件的命名规则
图 控件命名
下表 列出了常用控件名的前缀约定。
文本框TextBox
• TextBox(文本框)控件是程序界面上的主要输入对象, 有时也用于输出。其主要功能是接受用户输入的信息,或显 示系统提供的文本信息。在程序运行时,用户可以在文本框 中编辑文本。 • 文本框具有标签的大多属性,如Name、BackColor、 BorderStyle、Enabled、Font、ForeColor、Location、 Locked、Size、Text、TextAlign、Visible等属性。 • 文本框还有一些自己特有的属性,如MaxLength(最大长 度)、Multiline(多行)、PasswordChar(密码字符)、 ReadOnly(只读)、ScrollBars(滚动条)、SelectedText (选定的文本)、SelectionStart(选择起始点)、 SelectionLength(选择长度)、TextLength(文本长度)、 WordWrap(文本换行)等。
6.文本框的常用事件

• 【例】 文本框与按钮的简单应用。
控件的命名规则
• 窗体和控件都有自己的名称,可以通过Name属性进行 命名。为了提高控件名称的可读性,建议在为控件命名时, 在控件名称前面加上控件的类型名称缩写作为前缀,例如 窗体(frm)、标签(1b1)、按钮(btn)等。
紧跟在 3 个小写字母后面的则是该控件名称的命名, 第一个字母建议大写,其他的使用小写;若有多个单词组 成对象名称,则建议每个单词的首字母都采用大写。例如, 有一个要显示“学生姓名”文本的 Label 控件,其命名如 图所示。

第3章 Windows窗体常用控件

第3章 Windows窗体常用控件

3.4
列表类控件
2.选择列表框控件的常用方法
除了继承自列表框控件的常用方法外,选择列表框还有如下两种常用 方法:
(1)GetItemChecked(选项索引值):该方法用于获取选择列表项
是否处于选中状态,其返回值有两种: ●True:选项被选中; ●False:选项未被选中。 (2)SetItemChecked(选项索引值):该方法用于设置选择列表项 的选中状态,有True和False两种返回值。
3.4
列表类控件
2.选择列表框控件的常用属性
(1)CheckOnClick
(2)CheckedItenms (3)GetItemChecked(i)
(4)SetItemChecked
3.组合框控件的常用 (1)DropDownStyle
(2)Max件的常用事件
列表类控件
列表类控件包括列表框(ListBox)、选择列表框(CheckedListBox)
和组合框(ComboBox,也称下拉列表框),它们在工具箱中的图标分别为
3.4
3.4.2
列表类控件
列表类控件的常用属性
1.列表框控件的常用属性
(1)Item (2)MultiColumn和ColumnWideth (3)SelectedIndex (4)SelectedItem (5)SelectionMode (6)SelectedItems
1.选择框控件的常用事件 选择框控件的常用事件有Click、SelectedIndexChanged和
SelectedValueChanged,它们都是在选中列表项时触发。其中
SelectedIndexChanged事件是选择框控件的默认事件,它和 SelectedValueChanged事件一样,只要列表项发生变化就会被触发;而

Visual_Basic程序设计课件——第三章

Visual_Basic程序设计课件——第三章

【例题】移动对象,程序运行时使命令按钮移到窗体 的中心位置。
TextHeight和TextWidth方法
TextHeight方法和TextWidth方法用于帮助设置坐标,作用 为返回一个文本字符串的高度和宽度值。 TextHeight方法语法格式为: [对象名].TextHeight(字符串) TextWidth方法语法格式为: [对象名].TextWidth(字符串)
Spc函数
Spc函数也可以对输出进行定位,作用是提供n个空格键。 Spc函数语法格式为:Spc(<n>) 例如:Print “a” ;Spc(10);“b”;Spc(5);“c” 输出:a b c 说明: 1、参数n是一个数值表达式。 2、Spc函数与其他输出项之间用分号隔开。 3、Spc函数和Tab函数的作用相似,可以相互替代,不同的是,Tab函数 从对象的左端开始计数,而Spc函数只表示输出项之间的间隔。
输出信息对话框
MsgBox函数可以弹出一个带有若干按钮的对话框,并在对话 框中显示询问消息,等待用户做出选择,并返回一个整数值, 告诉用户单击哪一个按钮。 MsgBox函数的语法格式: 变量=MsgBox(<信息内容>[,<对话框类型>[,<对话框标题 >]]) 说明: 1、信息内容是在对话框中出现的提示文本。在信息内容中 使用硬回车符(CHR(13))可以使文本换行。对话框的高度 和宽度随着信息内容的增加而增加,最多可有1024个字符。 2、对话框类型指定对话框中出现的按钮和图标,一般有3个 参数。其取值和含义如下:
CurrentX和CurrentY属性
CurrentX和CurrentY表示当前输出位置的横坐标与纵坐标。
文本属性
①字体(FontName) 格式为:FontName[=“字体类型”] ②字号 格式为:FontSize[=“点数”] 注:“点数”用来设定字体的大小,默认情况下,系统使用最小的字 号:“点数”为8。 ③斜体 格式为:FontItalic[=Boolean] 注:当Boolean值为True时,文本以斜体字输出,Boolean默认为False。 ④粗体 格式为:FontBold[=Boolean] 注:当Boolean值为True时,文本以粗体字输出,Boolean默认为False。

Windows程序设计-对话框应用程序

Windows程序设计-对话框应用程序
例如:使用Office中Word和PPT等应用软件
• 遇到的现象: 当打开一个模态对话框时,用户只能与该模
态对话框进行交互,而应用程序的其他界面都得 不到用户的输入信息。 • 对上述现象的分析:
由于Windows是消息驱动机制的,而模态对话 框产生后,应用程序没有处理消息。这是因为模 态对话框产生后会屏蔽其他窗体的消息。 下面将采用MFC和Windows API来实现这种模态对话 框!
为”IDD_MODAL_DIALOG”; 4)定义对话框的消息处理过程; 5)为”IDC_CREATE_DIALOG”添加消息响应
4)定义对话框的消息处理过程
5)为”IDC_CREATE_DIALOG”添加消息响应
• 特点:&不2会.2 垄非断模用态户对的话输框入,用户仍然可以使用 其他的窗口。例如:word中的查找、替换窗口。
这两个对话框都是通过CFileDialog类来实现的。
CFileDialog类的关键成员函数: GetFileExt:取得所选文件的扩展名; GetFileName:取得所选文件的名称,不包含扩展名; GetFileTitle:取得所选文件的全名; GetFolderPath:取得所选文件的路径; GetNextFolderPath:取得下一个文件的路径,多选时 GetPathName:取得所选文件的路径全名; GetStartPosition:取得所选的第一个文件的定位信息,多选时用。
2.1.2 实例:使用MFC实现非模态对话框
1)使用应用程序AppWizard创建基于对话框的MFC程序; 2)使用资源编辑器,在主界面添加一个按
钮”IDC_CREATE_DIALOG”用来创建模态对话框; 3)在“资源视图”中添加一个对话框,ID

4.1 对话框和常用控件

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



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

Windows程序的常用控件

Windows程序的常用控件
3.方法
文本框控件常用的方法有: SetFocus、Refresh等。
4.3.3 按钮
按钮控件(CommandButton)用于确认 用户的某种操作。在Visual Basic应用程 序中,按钮控件的使用十分广泛,它是一 种用户与系统交互的最简便的方法。
1.属性
按钮控件常用的属性有:Name、Caption、 Enabled 、 Font 、 Visible 、 Style 、 Picture、BackColor、Index、Left、Top、 Width和Height等。
第2种方法是在进入Visual Basic 编程环境后,若还想添加新的窗体, 可选择菜单项“工程”,在随即弹出 的菜单中单击“添加窗体”即可。
4.1.2 窗体的属性
在完成窗体对象的创建后,第一步就是对 其属性进行设置。窗体的属性十分丰富, 可满足用户的几乎各种个性化要求。
属性值既可在属性窗中直接设置与修 改,也可在程序代码中动态设置和修改。
4.4 图片框与定时器
4.4.1 图片框
图片框控件(PictureBox)主要用于显示图形, 也可作为其他控件的容器。当用于显示图片时, 所显示的图片由Picture属性决定,因此Picture 属性是图片框控件最重要的属性。在程序设计时, 可在属性窗口中选择Picture属性,单击后将打开 一个加载图片对话框,通过改变路径,选择图片, 打开后图片便会显示在图片框控件中。
3.方法
标 签 控 件 常 用 的 方 法 有 : Refresh 、 Move 、 Hide、Scale和ZOrder等。
4.3.2 文本框
文 本 框 控 件 ( TextBox ) 用 于 接 收 用 户 输入的文本信息,或显示系统提供的文 本信息。用户可以在文本框中输入、编 辑和修改数据。

对话框及常用控件

对话框及常用控件

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

使用Windows常用控件

使用Windows常用控件

2.编辑框控件(CEdit) 编辑框控件是一个让用户从键盘输入和编辑文字的矩形窗口。
同时,用户也可以使用编辑框控件来编辑或修改简单的文本 文件。编辑框一般和静态文本控件一起使用,当它获得焦点 时,框内会出现一个闪动的插入符。 3.按钮控件(CEdit) 在Windows中按钮是随处可见的,其中常见的按钮有3种类型: 按键按钮、单选按钮和复选框。按键按钮通常可以立即产生 某个动作,执行某个命令,因此也常被称为命令按钮。单选 按钮的外观是一个圆圈,当它被选中时,单选按钮中就标上 一个黑点。复选框的外观是一个空心方框,当它被选中时, 复选框中就加上一个对勾标记,通常复选框只有选中和没有 选中两种状态。
使用Windows常用控件
为了与用户进行直观、方便、快捷的交互,Windows操 作系统提供了各种控件。控件(Control)是一种子窗口, 应用程序用它来与其他窗口进行简单的交互。一般情况 下,在使用对话框的时候都需要加上对话框控件,如编 辑框、组合框、按钮和单选按钮等。
1.1 Windows常用控件介绍
2.调用创建函数添加控件 如果希望在程序的运行过程中在对话框中添加控件,一般需要先声明一个
MFC控件类的对象,然后调用Create()函数和其他成员函数显示控件和 设置属性。 Create()是CWnd的成员函数,其原型如下: virtual BOOL Create( LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, Const RECT &rect, CWnd *pParentWnd, UINT nID, CCreateContext *pContext=NULL );
1.静态文本控件(CStatic) 静态文本控件用来在屏幕上显示字符串,一般不响

对话框和控件

对话框和控件

对话框的使用—添加对话框资源
❖ 在一个MFC应用程序中添加对话框资源,通常按下列步骤进行: ❖ (1)选择“插入”->“资源”,或按快捷键Ctrl+R打开“插入资源”对话框,
在对话框中可以看到资源列表中存在Dialog项,展开该项可以看到对话框资源 的不同类型选项。
对话框的使用—添加对话框资源
类型
对话框的使用——添加和布局控件
❖ 控件的布局
注意: (1)大多数布置控件的命令使用前,都需要用户选取多个控件,且 “主要控件”起到了关键作用。举例说明。 (2)为了便于用户在对话框内精确定位各个控件,系统还提供了网格、 标尺等辅助工具。
对话框的使用——创建对话框类
❖ 在对话框资源模板的空白区域内双击鼠标,将弹出“Adding a Class”对话框,询问是否为对话框资源创建一个新类。举 例说明。
对话框和常用控件
❖ 对话框的使用 ❖ 控件的创建和使用方法 ❖ 常用控件 ❖ 通用对话框和消息对话框
对话框的使用
在VisualC++6.0应用程序中,使用一个对话 框的一般过程是: 添加对话框资源 设置对话框的属性 添加和布局控件 创建对话框类 添加对话框代码 在程序中调用对话框
对话框的使用
❖ 资源与资源标识 Visual C++6.0将Windows应用程序中经常用 到的菜单、工具栏、对话框、图标等都视为 “资源”,并将其单独存放在一个资源文件 中。每个资源都由相应的标识符来区分,并 且可以像变量一样进行赋值。
nIDCheckButton); ❖ int GetCheckedRadioButton(int nIDFirstButton,int nIDLastButton); ❖ 其中,nIDFirstButton和nIDLastButton分别指定这组单选按钮的第一个

对话框和Windows标准控件

对话框和Windows标准控件

北京林业大学信息学院
实现步骤
BOOL CMyColorDialog::OnInitDialog() { CDialog::OnInitDialog(); m_nR=0; m_nG=0; m_nR=0; UpdateData(FALSE); //将设定的变量值传送给对应的控件 return TRUE; }
北京林业大学信息学院
CFontDialog类
类的成员函数 GetCurrentFont GetFaceName GetStyleName GetSize GetColor GetWeight IsStrikeOut IsUnderline IsBold IsItalic 获取当前所选字体 获取当前所选字体的字样名 获取当前所选字体的风格名 获取当前所选字体的大小 获取当前所选字体的颜色 获取当前所选字体的磅数 确定字体是否带有删除线 确定字体是否带有下划线 确定字体是否为粗体 确定字体是否为斜体 功能说明
CFileDialog类
(2) 调用成员函数DoModal()可以将对话 框显示在屏幕上,并让用户从中选择文 件。 (3) 如果 DoModal() 返回的是 IDOK,那 么调用成员函数可以获取文件信息。
北京林业大学信息学院
CFileDialog类
类的成员函数
GetPathName GetFileName GetFileExt GetFileTitle GetNextPathName GetStartPosition
北京林业大学信息学院
CColorDialog类
北京林业大学信息学院
CFontDialog类
CFontDialog类封装了标准的【字体】对话 框,使得用户可以从系统安装的字体列表 中选择要用的字体。 CFontDialog 类 的 使 用 步 骤 与 CColorDialog 的使用过程是一样的,在 用户选择了字体后,成员函数获取所选择 的字体信息。

对话框和常用控件

对话框和常用控件

2、拖入一些控件,对这些控件进行排序、布局、大小调整、上下对齐、测试等。 最后在对话框 IDD_DIALOG1 上留一个按钮控件, 其标识符为: IDC_BUTTON1 3、识别控件工具栏(188 页) 4、在加对话框时, Insert Resource 点开 +Dialog 见有 7 类对话框,分别了解 其 不同用途(见 192 页)不选择其中任何一个,点黑 Dialog->new 加个对话框。 5、对话框的属性 A 、 ViewProperties B 、按 Alt+Enter C 、用 鼠 标 右 键 单 击 对 话 框 模 板 Properties 都能弹出对话框的属性框,见书 193 页对属性 General 的解释。 6、为对话框添加类(194 页) 对准对话框的任意非控件区域双击鼠标,将弹出书 194 页图 5.11 所示 的对话框,询问是否为对话框资源创建一个新类单击 OK弹出书 194 页 图 5.12 所示的对话框你定义一个新类的名字如:CMyDlg(注意:类名必 须以 C 打头) ,下面的基类 Base class 和 ID 标识符 Dialog ID 内容一般不改。 7、添映射消息(195 页) 接上,点 OK 出现“MFC ClassWizard”对话框,如书 195 页图 5.13 所示(保 证类名处是 CMyDlg) 选定点黑 IDC_BUTTON1单击 BN_CLICKED 消息Add Function 出现书 195 页图 5.14 对话框OKEdit Code 8、添加用户代码(195 页) 接上,到 MyDlg.cpp 文件中,写: void CMyDlg::OnButton1( ) {
a) 打开资源编辑器的菜单项 Menu b) 双击 IDR_MAINFRAME c) 双击右边空白菜单,点开 pop_up( 让它是空白) ,在名字处写”弹出 对话框(&A)”,ID 处写 ID_PUPDIALOG 6)将菜单命令代码连接到程序中,完成 ID_PUPDIALOG 的消息映射: View ClassWizard 保证 Class name 里是 CMainFrame , 在 ObjectIDs 里找到 ID_PUPDIALOG 点黑Messages 里(右边)点 COMMAND 建立主框架对象方法: void CMainFrame::OnPupdialog() { CMyDlg MyDlg;

windows 第三章 对话框和常用控件

windows 第三章  对话框和常用控件

3.1对话框的使用 3. 控件布局工具栏
靠齐右边 测试对话框 左右居中 靠齐下边 高度相同 上下间隔相等 显示网格
靠齐上边 同 靠齐左边 尺 上下居中
左右间隔相等 宽度相同
大 小 相 显示标
图3.7 控件布局工具栏3Fra bibliotek1对话框的使用
WM_INITDIALOG是在对话框显示之前向父窗口发送的消息,由于建立了 此消息和OnInitDialog函数的关联,系统在对话框显示之前就会调用此函 数,因此常将对话框一些初始化代码添加到这个函数中。
3.2控件的创建和使用方法
3.2控件的创建和使用方法
(5) 在项目工作区窗口的ClassView页面中,将CEx_EditDlg结点 展开,双击OnInitDialog函数名,在该函数中添加下列代码(return true;语句之前添加):
BOOL CEx_EditDlg::OnInitDialog() { CDialog::OnInitDialog(); … CRect rcClient; this->GetClientRect( rcClient ); rcClient.right -= 100; m_wndEdit.Create(ES_MULTILINE|WS_CHILD|WS_VISIBLE|WS_TABSTO P| WS_BORDER, rcClient, this, 201 ); // 创建 CFont *font = this->GetFont(); // 获取对话框的字体 m_wndEdit.SetFont(font); // 设置控件字体 return TRUE; // return TRUE unless you set the focus to a control }
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

树形控件
树形控件(TreeCtrl)和下面要讲的列表控件(ListCtrl) 在系统中大量被使用,例如Windows资源管理器就是一 个典型的树形控件例子。 树形控件可以用于树形的结构,其中有一个根接点(Root) (Root) 然后下面有许多子结点,而每个子结点上有允许有一个 或多个或没有子结点。MFC中使用CTreeCtrl类来封装树 形控件的各种操作。通过调用 BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
滚动条控件
滚动条(Scroll Bar)一般不会单独使用,因为SpinCtrl 可以取代滚动条的一部分作用,但是如果我们需要自己生 成派生窗口,滚动条还是会派上一些用场。创建一个滚动 条可以使用成员函数: : BOOL CEdit::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );
MFC 提供类CDialog作为对话框服务的基类,类CDialog将对话框模板与使 用对话框时必需熟悉的几种类方法进行封装。对于对话框中发送消息的的 控件,我们可创建相应的消息处理程序。MFC编译器提供的框架工具使得 我们把对话框中的控件消息映像到派生类的类函数变得简单、快捷。对话 框数据映像函数使用专门的值初始化对话框中的控件,接着检索数据并使 之有效。大多数对话框需要类成员变量来跟踪用户的输入,这些数据在数 据映像中使用,它们在对话控件与类变量之间自动映像数据。 为创建对话框,首先建立CDialog对象,然后创建和显示对话框窗口我们 有两种选择:一种方法是调用函数CDialog::DoModal()来创建有模式对话 框窗口,另一种方法是调用函数CDialog::Create()来创建无模式对话框窗口, 在上述两种情况之下,对话框对象先初始化,然后创建对话框以及它的控 件。 类CDialog成员函数Create()使用两种重载原形,最常用的一种如下: Create(UINT nIDTemplate, CWnd * pParentWnd=NULL); 其中,参数nIDTemplate是一个对话框模板的标识符, 参数pParentWnd是对话框所属的父窗口。
组合框
组合框(Combo Box)窗口是由一个输入框和一个列表 框组成的。创建一个组合窗口可以使用成员函数: BOOL CListBox::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );
静态文本控件
静态文本控件的功能比较简单,可作为显示字符串、图标、位图 用。创建一个窗口可以使用成员函数: BOOL CStatic::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff ); 其中,dwStyle将指明该窗口的风格,除了子窗口常用的风格 WS_CHILD,WS_VISIBLE外,我们可以针对静态控件指明专门的风格。 SS_CENTER,SS_LEFT,SS_RIGHT 指明字符显示的对齐方式。 SS_GRAYRECT 显示一个灰色的矩形 SS_NOPREFIX 如果指明该风格,对于字符&将直接显示,否则 &将作为转义符,&将不显示而在其后的字符将有下划线,如果需要 直接显示&必须使用&&表示。 SS_BITMAP 显示位图 SS_ICON 显示图标 SS_CENTERIMAGE 图象居中显示 利用成员函数SetWindowText 设置控件显示的文本GetWindowText 得 到控件当前显示的文本,利用成员函数SetIcon设置控件显示的图标 GetIcon得到控件当前显示的图标,利用成员函数SetBitmap 设置控 件显示的位图,GetBitmap得到控件当前显示的位图。
树形控件
树形控件(TreeCtrl)和下面要讲的列表控件(ListCtrl) 在系统中大量被使用,例如Windows资源管理器就是一个典 型的树形控件例子。 树形控件可以用于树形的结构,其中有一个根接点(Root) 然后下面有许多子结点,而每个子结点上有允许有一个或多 个或没有子结点。MFC中使用CTreeCtrl类来封装树形控件的 各种操作。通过调用 BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
列ห้องสมุดไป่ตู้框
列表框(ListBox)窗口用来列出一系列的文本,每条文 本占一行。 创建一个列表窗口可以使用成员函数: BOOL CListBox::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );
编辑框控件
编辑框(Edit Box)控件Edit窗口是用来接收用户输 入最常用的一个控件。创建一个输入窗口可以使用成员 函数: BOOL CEdit::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );
有模式对话框
对话框是大多数Windows应用程序的重要的用户界面组 件。在Windows开发中弹出对话框是一种常用的I/O手段,我 们需要将一个自建并编辑好的对话框保存在Visual C++应用工 程的资源文件中。Visual C++提供了对话框编辑工具,我们利 用编辑工具可以方便的添加各种控件到对话框中去,而且利 用ClassWizard可以方便的生成新的对话框类和映射消息。我 们可以用对话框资源编辑器创建对话框模板,对话框资源编 辑器将编辑的模板以扩展名.res文件保存在对话框模板资源中。 然后基于对话框的模板用ClassWizard创建一个从CDialog 类 派生的对话框类,最后建立该类对象,建立对话框。
对话框中的数据交换和数据检查
MFC提供两种方法在对话框中进行数据交换和数据检查(Dialog Data Exchange/Dialog Data Validation),数据交换和数据检查的基本思想是 将某一变量和对话框中的一个控件窗口进行关联,然后通过调用BOOL UpdateData( BOOL bSaveAndValidate = TRUE )来指示MFC将变量中数 据放入控件窗口还是将控件窗口中数据取到变量中并进行合法性检查。 在进行数据交换时一个控件窗口可以和两种类型的变量相关联,一 种是控件(Control)对象,比如说按钮控件窗口可以和一个CButton对 象相关联,这种情况下我们可以通过该对象直接控制控件窗口,当然我 们可以使用GetDlgItem(IDC_CONTROL_ID)来得到窗口对象指针;一 种是内容对象,比如说输入框可以和一个CString对象关联,也可以和 一个UINT类型变量关联,这种情况下我们可以直接设置或获取窗口中 的输入内容。
模式对话框实现
对话框是一个特殊的窗口,主要用于用户的数据输入。 由于对话框是窗口,所以它和其它窗口一样响应消息。尽管 一般窗口处理大量消息,而一般对话框只处理两种消息: WM_INITDIALOG和WM_COMMAND。当对话框窗口被创 建后,在对话框显示之前,对话框先接收消息WM_CREATE, 然后响应消息WM_INITDIALOG。WM_INITDIALOG消息 在对话框窗口创建之后并且已初始化了所有对话框里的控件 以后到达。对话框窗口获得WM_INITDIALOG消息之后将处 理派生类中的OnInitDialog()消息处理函数。在这里我们可以 修改控件数据,不过修改控件数据要在对话框显示之前。
而数据检查是在一个控件窗口和一个内容对象相关联时 在存取内容时对内容进行合法性检查,比如说当一个输入 框和一个CString对象关联时,我们可以设置检查CString的 对象的最长/最小长度,当输入框和一个UINT变量相关联时 我们可以设置检查UINT变量的最大/最小值。在BOOL UpdateData( BOOL bSaveAndValidate = TRUE )被调用后, 合法性检查会自动进行,如果无法通过检查MFC会弹出消 息框进行提示,并返回FALSE。 设置DDX/DDV在Visual C++中非常简单,ClassWizard 可以替我们完成所有的工作,我们只需要打开ClassWizard 并选中Member Variables页,我们可以看到所有可以进行关 联的控件窗口ID列表,双击一个ID会弹出一个添加变量的 对话框,然后填写相关的信息后按下确定按钮就可以了。 然后选中刚才添加的变量在底部的输入框中输入检查条件。
Windows标准控件 标准控件
MFC 提供了一组与 Microsoft Windows 所提供的标准控 件窗口相对应的类。这些类主要有:静态类、按钮类、 编辑控件类、滚动条类、列表框类和组合框类等。每个 Windows 控件类都封装了一个Windows控件,并提供了与基本控件 之间的成员函数用户接口。使用一个控件对象的成员函 数,就可以获取和设置控件的值或状态,并响应由该控 件送给其父窗口(通常为一个对话框)的各种标准消息。 控制是Control 的意译,又叫控件,以下我们对控制和 控件不加区分。除了上述标准的Windows 控制之外, MFC还提供了以位图作标签的按钮等控制。
Windows对话框有两种基本类型: 有模式对话框(Model Dialog) 无模式对话框 (Modeless Dialog)。 有模式对话框使父窗口操作无效,不允许用户回到父窗口操 作。当有模式对话框工作时,对话框消息处理循环从应用队 列中直接接收消息传递给对话框函数,WinMain函数收不到消 息。与有模式对话框相反,无模式对话框不妨碍父窗口的正 常工作,无模式对话框接收WinMain函数消息循环的输入,它 没有自己的消息循环。 标准控件也是一些行为标准化了的窗口,一般用在对话框或 其它窗口中充当与用户交互的窗口元素。在Visual C++中,可 以使用的控件分成三类:Windows标准控件,ActiveX控件, 其它MFC控件类。在本章中我们仅讲述Windows标准控件。 所讲的内容主要包括各个控件的使用及相应的使用技巧。
相关文档
最新文档