




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MFC标准控件编程步骤,于东2015,第2周,1,控件是一些行为标准化了的窗口元素。Windows提供了一组标准控件。在MFC中,为每种控件实现了一个类。课程内只讲编程思想以及一些通用的方法具体控件的使用方法,看视频自学,2,MFC标准控件,3,思考要实现的功能控件布局控件属性修改通过类向导添加控件变量通过类向导添加控件消息响应函数手动添加控件辅助变量或函数=完成程序框架=完善添加的函数调试测试,4,标准控件编程一般步骤,每种控件都有自己的若干属性。在控件右键菜单中可以看到属性页,5,控件的属性,按钮属性页的“常规”项,编辑框属性页的“样式”项,每个控件必须有唯一的“ID”,一般不需要改ID会以宏的形式自动定义并记录在resource.h中在后面编程中,控件的ID也作为该控件使用的唯一标识,6,控件的属性,我们添加的控件的ID,通过类向导,可以替代人工来编写部分通用代码,7,VC6.0的类向导,通过快捷键Ctrl+W激活一定要记住,只用到前两个标签页MessageMaps:向类中添加消息响应函数MemberVariables:向类中添加并绑定成员变量,8,VC6.0的类向导,9,用类向导添加消息响应函数,1.选择Project,2.选择要编辑的类,3.选择要编辑的控件ID,4.选择要添加的控件消息,5.点击进入代码编写处,消息响应函数以类的成员函数形式添加MFC的类与普通C+类最大的区别,一是有复杂的继承体系,第二就是有“消息响应”代码。下节课详细讲解。本课中,牢记并熟练使用以上步骤即可。,10,用类向导添加消息响应函数,MFC编程中,我们通常以继承方式使用MFC中的类。比如,标准的Cdialog类中,没有包括任何功能代码,直接使用该类对象,创建的是一个空对话框。对Cdialog编程,由于无法修改MFC源码,因此从Cdialog中派生一个子类,比如叫做CMyDialog在CMyDialog中实现我们自己想要做的功能代码,这就是MFC编程问题:对于标准控件,是否也需要这样做?,11,MFC标准控件及其变量,答案:如果我们不需要对控件的外观和功能做改动,就不需要对其进行派生,可以直接使用。否则,就需要派生一个控件类,来自己写代码比如,我要把编辑框当做按钮来使用,或者要做一个三角形的按钮(很少)那么问题就来了:如何对控件编程?MFC中,在界面上布局变量后,程序仅生成了一个ID与之对应,控件本身还没有出现在代码中。需要通过组合的方式,在现有的CMyDialog类中,添加控件类变量,来实现对控件的编程。,12,MFC标准控件及其变量,13,通过类向导为控件添加变量,1.选择Project,2.选择要编辑的类,3.选择要编辑的控件ID,4.点击添加变量弹出下一页,14,通过类向导为控件添加变量,1.起一个名字,4.点OK确定,2.选择变量类型(稍后解释),3.选择变量的数据类型,Category有两种:value和controlControl类型,就是添加控件对应的MFC类对象Value类型,是添加与控件绑定的数值型变量,通过该变量可以直接操作控件对应的变量。Type对于control类型,type就是其控件类对于value类型,type有多种,如Cstring,int,float。,15,控件变量的Category和type,在dlg中添加一个button和一个edit为button添加control变量为edit添加string变量观察dlg类头文件的变化,16,例子,自动添加的对象代码,思考要实现的功能控件布局控件属性修改通过类向导添加控件变量通过类向导添加控件消息响应函数手动添加控件辅助变量或函数=完成程序框架=完善添加的函数调试测试,17,标准控件编程一般步骤,如果用到其他相关的功能,此时在类中添加比如,额外存放数据的普通变量,算法实现函数等,18,添加辅助变量或函数,下面,通过一个具体的例子,来说明一下如何在程序中灵活运用上述知识,实现一个功能。编写一个计算器程序,19,例子,ClassWizard帮助我们实现了控件变量添加、消息响应添加、消息函数添加等功能。带来了方便,但也使得整个编码比较零散。实际上,ClassWizard进行的工作,都是在编写代码。如果脱离向导,直接去添加代码,也能实现同样的功能。,20,控件的手工编程,这里我们详细讲解一下控件的手工删除方法。在编程中,如果添加了一个控件,后期觉得没用,就删除掉了,再次编译的时候会出错。这是因为删除过程没有使用ClassWizard,而是直接在布局界面中删除。这样就会导致清理不彻底。因此我们详细讲解手工删除控件的方法。这也是控件手工编程的重要部分。,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文件中删除函数即可,22,如何删除按钮控件及其响应函数?,Step1:打开类向导,选择控件、选择变量页面。Step2:选择删除变量,ClassWizard将自动删除相关代码。Step3:在资源管理器中,删除对应的控件。Step4:在Resource.h中,删除对应的控件ID宏如果先删除了控件,则需
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网红炸鸡连锁店区域代理合作协议-品牌授权与区域保护
- 网络视频游戏平台用户数据安全保密及游戏平衡性协议
- 股票期权激励计划与员工职业发展规划协议
- 癌症药物治疗技术发展与应用
- 大班音乐活动:大狮子教案设计
- 遗产继承证据确认合同(2篇)
- 临终心理护理实施要点
- 2024-2025学年高中地理课下能力提升九资源的跨区域调配-以南水北调为例含解析鲁教版必修3
- 学校春夏季常见传染病防控指南
- 个人贷款管理暂行办法
- GB/T 23703.1-2009知识管理第1部分:框架
- 12掺合料试验记录(矿渣粉)带数据
- 春天就是我童声合唱简谱
- 普安金桥百汇项目经理变更申请书
- (新版)国家统计执法证资格考试备考题库(含答案)
- 《有趣的推理》课件公开课
- 工作单位接收函
- 研究生英语综合教程上-课文 翻译
- 中国联通cBSS系统使用培训-第一部分
- 施工进度网络图、施工进度横道图模板大全
- CRCC认证目录
评论
0/150
提交评论