基本控件编程步骤.ppt
合集下载
No.11 使用基本控件.ppt
step.maximumValue = 1;
step.minimumValue = 0.1;
step.stepValue = 0.1;//每次增减的值
二、设置颜色,如上图的紫色
step.tintColor = [UIColor purpleColor];//设置按钮的颜
色;
55
2 步进控件
使用基本控件
11 11
4 综合实例
4、设计界面
步骤
➢ 添加图像视图 1)设置默认图像(Image中选择) 2)复制图像视图(4个,并调整大小和位置,设
置alpha值为0.75 0.5)
12 12
4 综合实例
4、设计界面
➢ 添加滑块控件 1)设置滑块的取值范围 Minimum:0.25 Maximum:1.75 Initial:1 取消复选框Continous
使用基本控件
移动应用开发教研室
✓ 滑块控件 ✓ 步进控件 ✓ 图像视图控件
主要内容
211 滑块控件来自使用基本控件UISlider(滑块控件)水平放置,可以用手触摸改变它 的值。
一、设定范围与默认值 创建完毕的同时我们要设置好滑块的范围,如果你没 有设置,那么会使用默认的 0.0 到 1.0 之间的值。 UISlider提供了两个属性来设置范围:mininumValue 和 maxinumValue: mySlider.mininumValue = 0.0;//下限 mySlider.maxinumValue = 50.0;//上限
33
1 滑块控件
使用基本控件
二、设置监听: [slider addTarget:self action:@selector(sliderChange:)
《控件使用方法》PPT课件
1.常用属性
标签控件最特有的属性为:WordWrap折行显示。
2.常用事件
单击(Click)、双击(DblClick)。
精选课件ppt
2Hale Waihona Puke 9.1 标签控件与文本框控件
【例9.1】设计一个显示“欢迎同学们”和显 示日期的一个小程序。
【例9.2】设计一个用标签控件实现标题放大 的程序。
【例9.3】设计一个用标签控件实现滚动 字幕的程序。
例 如 : ThisForm.Text1.SetFocus 表 示 程 序 开始时表单中的文本框首先得到光标。
精选课件ppt
6
9.1.2 文本框控件(TextBox)
【例9.4】计算圆面积。 【例9.5】计算长方体的体积。 【例9.6】设计一个文本框的密码演示程
序。 【例9.7】设计一个程序,三文本框同步
精选课件ppt
17
9.4.2 复选框控件(CheckBox)
有时希望在应用程序的用户界面上,提供一些项目让用户从几种 方案中,选择其中一种,VFP提供一种称为“复选框”的控件,它
有两种状态可以选择:
(1)选中,复选框中出现一个“ ”标志。
(2)不选,或称“关闭”,“ ”标志消失,如同开关一样。
9.3.1 计时器控件(Timer)
1.常用属性
Interval属性
指定计时器控件的Timer事件之间的时间间隔毫秒数,缺省 为0,不触发Timer事件。
单位:ms(0.001 s),Interval=500,是0.5秒触发一次Timer 事件。
Interval=0:屏蔽计时器。
2.常用事件
精选课件ppt
15
1.常用属性
(1)Alignment属性
标签控件最特有的属性为:WordWrap折行显示。
2.常用事件
单击(Click)、双击(DblClick)。
精选课件ppt
2Hale Waihona Puke 9.1 标签控件与文本框控件
【例9.1】设计一个显示“欢迎同学们”和显 示日期的一个小程序。
【例9.2】设计一个用标签控件实现标题放大 的程序。
【例9.3】设计一个用标签控件实现滚动 字幕的程序。
例 如 : ThisForm.Text1.SetFocus 表 示 程 序 开始时表单中的文本框首先得到光标。
精选课件ppt
6
9.1.2 文本框控件(TextBox)
【例9.4】计算圆面积。 【例9.5】计算长方体的体积。 【例9.6】设计一个文本框的密码演示程
序。 【例9.7】设计一个程序,三文本框同步
精选课件ppt
17
9.4.2 复选框控件(CheckBox)
有时希望在应用程序的用户界面上,提供一些项目让用户从几种 方案中,选择其中一种,VFP提供一种称为“复选框”的控件,它
有两种状态可以选择:
(1)选中,复选框中出现一个“ ”标志。
(2)不选,或称“关闭”,“ ”标志消失,如同开关一样。
9.3.1 计时器控件(Timer)
1.常用属性
Interval属性
指定计时器控件的Timer事件之间的时间间隔毫秒数,缺省 为0,不触发Timer事件。
单位:ms(0.001 s),Interval=500,是0.5秒触发一次Timer 事件。
Interval=0:屏蔽计时器。
2.常用事件
精选课件ppt
15
1.常用属性
(1)Alignment属性
制作常用控件使用方法的详细介绍分析PPT课件
(6)SelStart、SelLength、SelText属性
在程序运行中,对文本内容进行选择操作时,这三个属性用来 标识用户选中的正文。
SelStart属性:选定正文的开始位置,第一个字符的位置是0。 SelLength属性:选定正文的最大长度。 SelText属性:选定正文的内容。 设置了SelStart和SelLength属性后,VFP会自动将设定的正文
(4)ScrollBars滚动条属性
0—无:没有滚动条。 1—水平:加水平滚动条。 2—垂直:加垂直滚动条。 3—水平和垂直:同时加水平和垂直滚动条。
9.1.2 文本框控件(TEXTBOX)
(5)PasswordChar属性
指定用户输入的字符或占位符是否显示在文本框控件中,并确 定用作占位符的字符。使用这个属性,可以在对话框中,创建 一个密码字段。一般用星号(*)。
第9章 控件的使用
本章主要介绍一些常用控件的使用方法。如:标签控 件、文本框控件、命令按钮控件、编辑框控件、计时 器控件、容器控件、选项按钮控件、复选框控件、列 表框控件、组合框控件、微调器控件、页框控件、直 线控件、形状控件、图像控件等的程序设计方法。
9.1 标签控件与文本框控件
9.1.1 标签控rdWrap折行显示。
2.常用事件
单击(Click)、双击(DblClick)。
9.1 标签控件与文本框控件
【例9.1】设计一个显示“欢迎同学们”和显示 日期的一个小程序。
【例9.2】设计一个用标签控件实现标题放大的 程序。
【例9.3】设计一个用标签控件实现滚动字幕的程序。
9.1.2 文本框控件(TEXTBOX)
1.常用属性
(1)Text文本属性
在文本框中显示正文的内容存放在Text属性中。
在程序运行中,对文本内容进行选择操作时,这三个属性用来 标识用户选中的正文。
SelStart属性:选定正文的开始位置,第一个字符的位置是0。 SelLength属性:选定正文的最大长度。 SelText属性:选定正文的内容。 设置了SelStart和SelLength属性后,VFP会自动将设定的正文
(4)ScrollBars滚动条属性
0—无:没有滚动条。 1—水平:加水平滚动条。 2—垂直:加垂直滚动条。 3—水平和垂直:同时加水平和垂直滚动条。
9.1.2 文本框控件(TEXTBOX)
(5)PasswordChar属性
指定用户输入的字符或占位符是否显示在文本框控件中,并确 定用作占位符的字符。使用这个属性,可以在对话框中,创建 一个密码字段。一般用星号(*)。
第9章 控件的使用
本章主要介绍一些常用控件的使用方法。如:标签控 件、文本框控件、命令按钮控件、编辑框控件、计时 器控件、容器控件、选项按钮控件、复选框控件、列 表框控件、组合框控件、微调器控件、页框控件、直 线控件、形状控件、图像控件等的程序设计方法。
9.1 标签控件与文本框控件
9.1.1 标签控rdWrap折行显示。
2.常用事件
单击(Click)、双击(DblClick)。
9.1 标签控件与文本框控件
【例9.1】设计一个显示“欢迎同学们”和显示 日期的一个小程序。
【例9.2】设计一个用标签控件实现标题放大的 程序。
【例9.3】设计一个用标签控件实现滚动字幕的程序。
9.1.2 文本框控件(TEXTBOX)
1.常用属性
(1)Text文本属性
在文本框中显示正文的内容存放在Text属性中。
控件编程课件
控件编程
控件的一些通用事件2-1
事件 KeyDown KeyUp KeyPress GotFocus LostFocus Enter Leave
说明 在控件有焦点的情况下按下键时发生 在控件有焦点的情况下释放键时发生 在控件有焦点的情况下按下键时发生 在控件接收焦点时发生 当控件失去焦点时发生 进入控件时发生 在输入焦点离开控件时发生
显示一个可滚动的项列表,每项旁边都有一个复选 框
显示一个可打开或关闭的按钮
允许用户通过沿标尺移动“缩略图”来设置标尺上 的值
控件编程
各种类型控件3-4
功能 数据的设置
对话框
控件 DateTimePicker MonthCalendar ColorDialog FontDialog Open PrintDialog PrintPreviewDialo g Save
WinForms应用程序可能存在多个窗体,用于获取用户输入的 数据和向用户显示数据
控件编程
控件概念
• 控件是包含在窗体对象内的对象 • 每种类型的控件都具有其自己的属性集、方法和事件,以
使该控件适合于特定用途 • 可通过在设计器中操作控件并编写代码来在运行时动态添
加控件
控件编程
各种类型控件3-1
说明 显示一个图形日历以允许用户选择日期或时间 显示一个图形日历以允许用户选择日期范围 显示允许用户设置界面元素的颜色的颜色选择器对话框 显示允许用户设置字体及其属性的对话框 显示允许用户定位文件和选择文件的对话框 显示允许用户选择打印机并设置其属性的对话框 显示一个对话框,该对话框显示 PrintDocument 对象打 印时的样子 显示允许用户保存文件的对话框
控件编程
控件的一些通用事件2-1
第四课 Visual Basic 控件(课件ppt)
所以用代码修改对象的属性值的基本格式为:对象名.属性名 = 属性值
制作电子相册—调试运行
运行程序,调试各个按钮的事件处理过程,确认正确后,保存文件
注意
保存窗体文件(Form1.frm)和工程文件(电子相册.vbp),位置应 于图片素材在同一文件夹中
以上操作请同学们跟着老 师完成
打开VB的编辑界面进行操 作
初步理解使用App.Path得到相对路径的方法
二、制作电子相册的一般过程 1、任务分析 2、界面设计 3、代码编写 4、调试运行
三、对象、属性、事件的概念 在面向对象的程序设计中,每一个实体都可以称之为对象,窗体和控件式程序设计中最常见的
对象。 属性指对象的性质,修改属性值可以修改对象的状态。 事件是指对象对于外部动作的响应,当对象发生了某事件,就会执行与此对象的这个事件相应
A、B在同一个小组, 相对位置不变,总是 能容易找到,如果使 用绝对路径,小组位 置改变就会找不到文 件A同学位置,推荐使
用相对路径
课堂练习:探究活动
请同学们思考并尝试,如何在我们上节课自我介绍的VB程序中添 加图片介绍。
拓展提高
二 、制作电子相册
准备工作:制作电子相册要先准备图片素材,并与工程文件放在同 一文件夹中
回顾编写一个VB程序的过程,说说制作一个电子相册步骤
制作电子相册
任务分析
界面设计
代码编写
调试运行
制作电子相册—任务分析
简单的电子相册只需要 图片框 控件和 按 钮 控件就可实现,单 击某个按钮,程序显示相应的图片,并在图片框配上相应的文字。
制作电子相册—界面设计
1、绘制程序的窗体界面
PictureBox
1、设计时加载 2、运行时加载
制作电子相册—调试运行
运行程序,调试各个按钮的事件处理过程,确认正确后,保存文件
注意
保存窗体文件(Form1.frm)和工程文件(电子相册.vbp),位置应 于图片素材在同一文件夹中
以上操作请同学们跟着老 师完成
打开VB的编辑界面进行操 作
初步理解使用App.Path得到相对路径的方法
二、制作电子相册的一般过程 1、任务分析 2、界面设计 3、代码编写 4、调试运行
三、对象、属性、事件的概念 在面向对象的程序设计中,每一个实体都可以称之为对象,窗体和控件式程序设计中最常见的
对象。 属性指对象的性质,修改属性值可以修改对象的状态。 事件是指对象对于外部动作的响应,当对象发生了某事件,就会执行与此对象的这个事件相应
A、B在同一个小组, 相对位置不变,总是 能容易找到,如果使 用绝对路径,小组位 置改变就会找不到文 件A同学位置,推荐使
用相对路径
课堂练习:探究活动
请同学们思考并尝试,如何在我们上节课自我介绍的VB程序中添 加图片介绍。
拓展提高
二 、制作电子相册
准备工作:制作电子相册要先准备图片素材,并与工程文件放在同 一文件夹中
回顾编写一个VB程序的过程,说说制作一个电子相册步骤
制作电子相册
任务分析
界面设计
代码编写
调试运行
制作电子相册—任务分析
简单的电子相册只需要 图片框 控件和 按 钮 控件就可实现,单 击某个按钮,程序显示相应的图片,并在图片框配上相应的文字。
制作电子相册—界面设计
1、绘制程序的窗体界面
PictureBox
1、设计时加载 2、运行时加载
基本控件编程步骤
4.选择要添加 的控消息
9
消息响应函数以类的成员函数形式添加 MFC的类与普通C++类最大的区别,一是有复杂的继 承体系,第二就是有“消息响应”代码。 下节课详细讲解。 本课中,牢记并熟练使用以上步骤即可。
10
MFC编程中,我们通常以继承方式使用MFC中的类。
◦ 比如,标准的Cdialog类中,没有包括任何功能代码,直接 使用该类对象,创建的是一个空对话框。 ◦ 对Cdialog编程,由于无法修改MFC源码,因此从Cdialog中 派生一个子类,比如叫做CMyDialog ◦ 在CMyDialog中实现我们自己想要做的功能代码,这就是 MFC编程
16
思考要实现的功能 控件布局 控件属性修改 通过类向导添加控件变量 通过类向导添加控件消息响应函数 手动添加控件辅助变量或函数 =======完成程序框架========= 完善添加的函数 调试测试
17
如果用到其他相关的功能,此时在类中添加
比如,额外存放数据的普通变量, 算法实现函数等
21
◦ Step1:打开类向导,选择控件、选择消息,点 会弹出提示,意思是,函数代码还需要手动删除。 ◦ Step2: 在Dlg.cpp文件中,手动删除函数。 ◦ Step3: 在资源管理器中,删除对应的控件。 ◦ Step4: 在Resource.h中,删除对应的控件ID宏 如果第一步直接就把资源管理器中的图标删了,也不要 紧。打开Resource.h, 辨认出控件的ID,然后Alt+E+i,全局 搜索该ID,就能找到控件对应的 ON_BN_CLICKED ( IDC_ADD_BUTTON , OnAddButton ) 删除该行,再找后边对应的函数,在.h和.cpp文件中删除函 数即可
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
◦ 对Cdialog编程,由于无法修改MFC源码,因此从Cdialog中 派生一个子类,比如叫做CMyDialog
◦ 在CMyDialog中实现我们自己想要做的功能代码,这就是 MFC编程
问题:对于标准控件,是否也需要这样做?
11
答案:
◦ 如果我们不需要对控件的外观和功能做改动,就不需要对 其进行派生,可以直接使用。否则,就需要派生一个控件 类,来自己写代码——比如,我要把编辑框当做按钮来使 用,或者要做一个三角形的按钮(很少)
CComboBox CEdit
CHeaderCtrl CHotKeyCtrl
CListBox CCheckListBox CDragListBox CListBox CProgressCtrl CRichEditCtrl CScorllBar CSliderCtrl CSpinButtonCtrl
CStatic CStateBarCtrl
CDocument
CWinApp
应用程序类
CDocItem
窗口类
CWnd
CException
CGdiObject
CFile
文件类
CDC
图形设备接口类
CMenu
菜单类
CDatabase
数据库类
CFrameWnd
CControlBar
控制条类
CDialogBar CStatusBar CToolBar
CDialog
13
1.起一个名字
4.点OK确定
2.选择变量类型 (稍后解释)
3.选择变量的 数据类型
14
Category有两种:value和control
◦ Control类型,就是添加控件对应的MFC类对象 ◦ Value类型,是添加与控件绑定的数值型变量,通过该变量
可以直接操作控件对应的变量。
Type
21
◦ Step1:打开类向导,选择控件、选择消息,点 会弹出提示,意思是,函数代码还需要手动删除。
◦ Step2: 在Dlg.cpp文件中,手动删除函数。 ◦ Step3: 在资源管理器中,删除对应的控件。 ◦ Step4: 在Resource.h中,删除对应的控件ID宏
如果第一步直接就把资源管理器中的图标删了,也不要 紧。打开Resource.h, 辨认出控件的ID,然后Alt+E+i,全局 搜索该ID,就能找到控件对应的 ON_BN_CLICKED ( IDC_ADD_BUTTON , OnAddButton ) 删除该行,再找后边对应的函数,在.h和.cpp文件中删除函 数即可
CTabCtrl CToolBarCtrl CToolTipCtrl
CTreeCtrl
控件类
CBitmap 位图类 CBrush 画刷类 CFont 字体类 CPen 画笔类
CPoint CRect CSize CString CTime
简单数据 类型
3
思考要实现的功能 控件布局 控件属性修改 通过类向导添加控件变量 通过类向导添加控件消息响应函数 手动添加控件辅助变量或函数 =======完成程序框架========= 完善添加的函数 调试测试
1. Dlg.h 中的变量定义 2. Dlg.cpp 中构造函数中的变量初始化 3. Dlg.cpp 的DoDataExchange()中对应的DDX行 4.删除Resource.h中的ID
23
20
这里我们详细讲解一下控件的手工删除方法。
◦ 在编程中,如果添加了一个控件,后期觉得没用,就删除 掉了,再次编译的时候会出错。这是因为删除过程没有使 用ClassWizard,而是直接在布局界面中删除。这样就会导 致清理不彻底。
◦ 因此我们详细讲解手工删除控件的方法。这也是控件手工 编程的重要部分。
22
◦ Step1:打开类向导,选择控件、选择变量页面。 ◦ Step2: 选择删除变量,ClassWizard将自动删除相关代码。 ◦ Step3: 在资源管理器中,删除对应的控件。 ◦ Step4: 在Resource.h中,删除对应的控件ID宏
如果先删除了控件,则需要手动删除该控件对应的变量, 包括三行:
◦ 对于control类型,type就是其控件类 ◦ 对于value类型,type有多种,如Cstring,int,float。。。
15
在dlg中添加一个button和一个edit
◦ 为button添加control变量 ◦ 为edit添加string变量
观察dlg类头文件的变化
自动添加的对象代码
16
思考要实现的功能 控件布局 控件属性修改 通过类向导添加控件变量 通过类向导添加控件消息响应函数 手动添加控件辅助变量或函数 =======完成程序框架========= 完善添加的函数 调试测试
17
如果用到其他相关的功能,此时在类中添加 比如,额外存放数据的普通变量, 算法实现函数等
通过快捷键 Ctrl+W激活 一定要记住
7
只用到前两个标签页 Message Maps : 向类中添加消息响应函数 Member Variables: 向类中添加并绑定成员变量
8
1.选择Project择要添加 的控件消息
5.点击进入代 码编写处
Windows 程序设计
于东 2015,第2周
控件是一些行为标准化了的窗 口元素。
Windows提供了一组标准控件。 在MFC中,为每种控件实现了
一个类。 课程内只讲编程思想以及一些
通用的方法 具体控件的使用方法,看视频
自学
2
对象类
CObject
CCmdTarget
文档类
CWinThread
18
下面,通过一个具体的例子,来说明一下如何在程 序中灵活运用上述知识,实现一个功能。
编写一个计算器程序
19
ClassWizard帮助我们实现了控件变量添加、消息响 应添加、消息函数添加等功能。带来了方便,但也 使得整个编码比较零散。
实际上,ClassWizard进行的工作,都是在编写代码。 如果脱离向导,直接去添加代码,也能实现同样的 功能。
4
每种控件都有自己的若干属性。 在控件右键菜单中可以看到属性页
按钮属性页的“常规”项
编辑框属性页的“样式”项
5
每个控件必须有唯一的“ID”,一般不需要改 ID会以宏的形式自动定义并记录在resource.h中 在后面编程中,控件的ID也作为该控件使用的唯一
标识
我们添加的控件的ID
6
通过类向导,可以替代人工来编写部分通用代码
9
消息响应函数以类的成员函数形式添加 MFC的类与普通C++类最大的区别,一是有复杂的继
承体系,第二就是有“消息响应”代码。 下节课详细讲解。 本课中,牢记并熟练使用以上步骤即可。
10
MFC编程中,我们通常以继承方式使用MFC中的类。
◦ 比如,标准的Cdialog类中,没有包括任何功能代码,直接 使用该类对象,创建的是一个空对话框。
那么问题就来了:如何对控件编程?
◦ MFC中,在界面上布局变量后,程序仅生成了一个ID与之 对应,控件本身还没有出现在代码中。
◦ 需要通过组合的方式,在现有的CMyDialog类中,添加控 件类变量,来实现对控件的编程。
12
1.选择Project
2.选择要编辑的类
3.选择要编辑 的控件ID
4.点击 添加变量 弹出下一页
对话框类
CColorDialog CFileDialog
CFindReplaceDialog
CFontDialog
CView
视图类
CCtrlView
CEditView CListView CRichEditView CTreeView
CScrollView
滚动条类
CFormView
CAnimateCtrl CButton CBitmapButton
◦ 在CMyDialog中实现我们自己想要做的功能代码,这就是 MFC编程
问题:对于标准控件,是否也需要这样做?
11
答案:
◦ 如果我们不需要对控件的外观和功能做改动,就不需要对 其进行派生,可以直接使用。否则,就需要派生一个控件 类,来自己写代码——比如,我要把编辑框当做按钮来使 用,或者要做一个三角形的按钮(很少)
CComboBox CEdit
CHeaderCtrl CHotKeyCtrl
CListBox CCheckListBox CDragListBox CListBox CProgressCtrl CRichEditCtrl CScorllBar CSliderCtrl CSpinButtonCtrl
CStatic CStateBarCtrl
CDocument
CWinApp
应用程序类
CDocItem
窗口类
CWnd
CException
CGdiObject
CFile
文件类
CDC
图形设备接口类
CMenu
菜单类
CDatabase
数据库类
CFrameWnd
CControlBar
控制条类
CDialogBar CStatusBar CToolBar
CDialog
13
1.起一个名字
4.点OK确定
2.选择变量类型 (稍后解释)
3.选择变量的 数据类型
14
Category有两种:value和control
◦ Control类型,就是添加控件对应的MFC类对象 ◦ Value类型,是添加与控件绑定的数值型变量,通过该变量
可以直接操作控件对应的变量。
Type
21
◦ Step1:打开类向导,选择控件、选择消息,点 会弹出提示,意思是,函数代码还需要手动删除。
◦ Step2: 在Dlg.cpp文件中,手动删除函数。 ◦ Step3: 在资源管理器中,删除对应的控件。 ◦ Step4: 在Resource.h中,删除对应的控件ID宏
如果第一步直接就把资源管理器中的图标删了,也不要 紧。打开Resource.h, 辨认出控件的ID,然后Alt+E+i,全局 搜索该ID,就能找到控件对应的 ON_BN_CLICKED ( IDC_ADD_BUTTON , OnAddButton ) 删除该行,再找后边对应的函数,在.h和.cpp文件中删除函 数即可
CTabCtrl CToolBarCtrl CToolTipCtrl
CTreeCtrl
控件类
CBitmap 位图类 CBrush 画刷类 CFont 字体类 CPen 画笔类
CPoint CRect CSize CString CTime
简单数据 类型
3
思考要实现的功能 控件布局 控件属性修改 通过类向导添加控件变量 通过类向导添加控件消息响应函数 手动添加控件辅助变量或函数 =======完成程序框架========= 完善添加的函数 调试测试
1. Dlg.h 中的变量定义 2. Dlg.cpp 中构造函数中的变量初始化 3. Dlg.cpp 的DoDataExchange()中对应的DDX行 4.删除Resource.h中的ID
23
20
这里我们详细讲解一下控件的手工删除方法。
◦ 在编程中,如果添加了一个控件,后期觉得没用,就删除 掉了,再次编译的时候会出错。这是因为删除过程没有使 用ClassWizard,而是直接在布局界面中删除。这样就会导 致清理不彻底。
◦ 因此我们详细讲解手工删除控件的方法。这也是控件手工 编程的重要部分。
22
◦ Step1:打开类向导,选择控件、选择变量页面。 ◦ Step2: 选择删除变量,ClassWizard将自动删除相关代码。 ◦ Step3: 在资源管理器中,删除对应的控件。 ◦ Step4: 在Resource.h中,删除对应的控件ID宏
如果先删除了控件,则需要手动删除该控件对应的变量, 包括三行:
◦ 对于control类型,type就是其控件类 ◦ 对于value类型,type有多种,如Cstring,int,float。。。
15
在dlg中添加一个button和一个edit
◦ 为button添加control变量 ◦ 为edit添加string变量
观察dlg类头文件的变化
自动添加的对象代码
16
思考要实现的功能 控件布局 控件属性修改 通过类向导添加控件变量 通过类向导添加控件消息响应函数 手动添加控件辅助变量或函数 =======完成程序框架========= 完善添加的函数 调试测试
17
如果用到其他相关的功能,此时在类中添加 比如,额外存放数据的普通变量, 算法实现函数等
通过快捷键 Ctrl+W激活 一定要记住
7
只用到前两个标签页 Message Maps : 向类中添加消息响应函数 Member Variables: 向类中添加并绑定成员变量
8
1.选择Project择要添加 的控件消息
5.点击进入代 码编写处
Windows 程序设计
于东 2015,第2周
控件是一些行为标准化了的窗 口元素。
Windows提供了一组标准控件。 在MFC中,为每种控件实现了
一个类。 课程内只讲编程思想以及一些
通用的方法 具体控件的使用方法,看视频
自学
2
对象类
CObject
CCmdTarget
文档类
CWinThread
18
下面,通过一个具体的例子,来说明一下如何在程 序中灵活运用上述知识,实现一个功能。
编写一个计算器程序
19
ClassWizard帮助我们实现了控件变量添加、消息响 应添加、消息函数添加等功能。带来了方便,但也 使得整个编码比较零散。
实际上,ClassWizard进行的工作,都是在编写代码。 如果脱离向导,直接去添加代码,也能实现同样的 功能。
4
每种控件都有自己的若干属性。 在控件右键菜单中可以看到属性页
按钮属性页的“常规”项
编辑框属性页的“样式”项
5
每个控件必须有唯一的“ID”,一般不需要改 ID会以宏的形式自动定义并记录在resource.h中 在后面编程中,控件的ID也作为该控件使用的唯一
标识
我们添加的控件的ID
6
通过类向导,可以替代人工来编写部分通用代码
9
消息响应函数以类的成员函数形式添加 MFC的类与普通C++类最大的区别,一是有复杂的继
承体系,第二就是有“消息响应”代码。 下节课详细讲解。 本课中,牢记并熟练使用以上步骤即可。
10
MFC编程中,我们通常以继承方式使用MFC中的类。
◦ 比如,标准的Cdialog类中,没有包括任何功能代码,直接 使用该类对象,创建的是一个空对话框。
那么问题就来了:如何对控件编程?
◦ MFC中,在界面上布局变量后,程序仅生成了一个ID与之 对应,控件本身还没有出现在代码中。
◦ 需要通过组合的方式,在现有的CMyDialog类中,添加控 件类变量,来实现对控件的编程。
12
1.选择Project
2.选择要编辑的类
3.选择要编辑 的控件ID
4.点击 添加变量 弹出下一页
对话框类
CColorDialog CFileDialog
CFindReplaceDialog
CFontDialog
CView
视图类
CCtrlView
CEditView CListView CRichEditView CTreeView
CScrollView
滚动条类
CFormView
CAnimateCtrl CButton CBitmapButton