基本控件编程步骤.ppt

上传人:wuy****n92 文档编号:75110085 上传时间:2023-03-02 格式:PPT 页数:23 大小:297.50KB
返回 下载 相关 举报
基本控件编程步骤.ppt_第1页
第1页 / 共23页
基本控件编程步骤.ppt_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《基本控件编程步骤.ppt》由会员分享,可在线阅读,更多相关《基本控件编程步骤.ppt(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、MFCMFC标标准控件准控件编编程步程步骤骤于东2015,第2周控件是一些行为标准化了的窗口元素。Windows提供了一组标准控件。在MFC中,为每种控件实现了一个类。课程内只讲编程思想以及一些通用的方法具体控件的使用方法,看视频自学MFCMFC标标准控件准控件23思考要实现的功能控件布局控件属性修改通过类向导添加控件变量通过类向导添加控件消息响应函数手动添加控件辅助变量或函数=完成程序框架=完善添加的函数调试测试标标准控件准控件编编程一般步程一般步骤骤4每种控件都有自己的若干属性。在控件右键菜单中可以看到属性页控件的属性控件的属性按钮属性页的“常规”项编辑框属性页的“样式”项5每个控件必须有

2、唯一的“ID”,一般不需要改ID会以宏的形式自动定义并记录在resource.h中在后面编程中,控件的ID也作为该控件使用的唯一标识控件的属性控件的属性我们添加的控件的ID6通过类向导,可以替代人工来编写部分通用代码VC6.0VC6.0的的类类向向导导通过快捷键 Ctrl+WCtrl+W激活一定要记住7只用到前两个标签页Message Maps :向类中添加消息响应函数Member Variables:向类中添加并绑定成员变量VC6.0VC6.0的的类类向向导导8用用类类向向导导添加消息响添加消息响应应函数函数1.选择Project2.选择要编辑的类3.选择要编辑的控件ID4.选择要添加的控件

3、消息5.点击进入代码编写处9消息响应函数以类的成员函数形式添加MFC的类与普通C+类最大的区别,一是有复杂的继承体系,第二就是有“消息响应”代码。下节课详细讲解。本课中,牢记并熟练使用以上步骤即可。用用类类向向导导添加消息响添加消息响应应函数函数10MFC编程中,我们通常以继承方式使用MFC中的类。比如,标准的比如,标准的CdialogCdialog类中,没有包括任何功能代码,直接类中,没有包括任何功能代码,直接使用该类对象,创建的是一个空对话框。使用该类对象,创建的是一个空对话框。对对CdialogCdialog编程,由于无法修改编程,由于无法修改MFCMFC源码,因此从源码,因此从Cdia

4、logCdialog中中派生一个子类,比如叫做派生一个子类,比如叫做CMyDialogCMyDialog在在CMyDialogCMyDialog中实现我们自己想要做的功能代码,这就是中实现我们自己想要做的功能代码,这就是MFCMFC编程编程问题:对于标准控件,是否也需要这样做?MFCMFC标标准控件及其准控件及其变变量量11答案:如果我们不需要对控件的外观和功能做改动,就不需要对如果我们不需要对控件的外观和功能做改动,就不需要对其进行派生,可以直接使用。否则,就需要派生一个控件其进行派生,可以直接使用。否则,就需要派生一个控件类,来自己写代码类,来自己写代码比如,我要把编辑框当做按钮来使比如,

5、我要把编辑框当做按钮来使用,或者要做一个三角形的按钮(很少)用,或者要做一个三角形的按钮(很少)那么问题就来了:如何对控件编程?MFCMFC中,在界面上布局变量后,程序仅生成了一个中,在界面上布局变量后,程序仅生成了一个IDID与之与之对应,控件本身还没有出现在代码中。对应,控件本身还没有出现在代码中。需要通过组合的方式,在现有的需要通过组合的方式,在现有的CMyDialogCMyDialog类中,添加控类中,添加控件类变量,来实现对控件的编程。件类变量,来实现对控件的编程。MFCMFC标标准控件及其准控件及其变变量量12通通过类过类向向导为导为控件添加控件添加变变量量1.选择Project2

6、.选择要编辑的类3.选择要编辑的控件ID4.点击添加变量弹出下一页13通通过类过类向向导为导为控件添加控件添加变变量量1.起一个名字4.点OK确定2.选择变量类型(稍后解释)3.选择变量的数据类型14Category有两种:value和controlControlControl类型,就是添加控件对应的类型,就是添加控件对应的MFCMFC类对象类对象ValueValue类型,是添加与控件绑定的数值型变量,通过该变量类型,是添加与控件绑定的数值型变量,通过该变量可以直接操作控件对应的变量。可以直接操作控件对应的变量。Type对于对于controlcontrol类型,类型,typetype就是其控件

7、类就是其控件类对于对于valuevalue类型,类型,typetype有多种,如有多种,如CstringCstring,intint,floatfloat。控件控件变变量的量的CategoryCategory和和typetype15在dlg中添加一个button和一个edit为为buttonbutton添加添加controlcontrol变量变量为为editedit添加添加stringstring变量变量观察dlg类头文件的变化例子例子自动添加的对象代码16思考要实现的功能控件布局控件属性修改通过类向导添加控件变量通过类向导添加控件消息响应函数手动添加控件辅助变量或函数=完成程序框架=完善添加

8、的函数调试测试标标准控件准控件编编程一般步程一般步骤骤17如果用到其他相关的功能,此时在类中添加比如,额外存放数据的普通变量,算法实现函数等添加添加辅辅助助变变量或函数量或函数18下面,通过一个具体的例子,来说明一下如何在程序中灵活运用上述知识,实现一个功能。编写一个计算器程序例子例子19ClassWizard帮助我们实现了控件变量添加、消息响应添加、消息函数添加等功能。带来了方便,但也使得整个编码比较零散。实际上,ClassWizard进行的工作,都是在编写代码。如果脱离向导,直接去添加代码,也能实现同样的功能。控件的手工控件的手工编编程程20这里我们详细讲解一下控件的手工删除方法。在编程中

9、,如果添加了一个控件,后期觉得没用,就删除在编程中,如果添加了一个控件,后期觉得没用,就删除掉了,再次编译的时候会出错。这是因为删除过程没有使掉了,再次编译的时候会出错。这是因为删除过程没有使用用ClassWizardClassWizard,而是直接在布局界面中删除。这样就会导,而是直接在布局界面中删除。这样就会导致清理不彻底。致清理不彻底。因此我们详细讲解手工删除控件的方法。这也是控件手工因此我们详细讲解手工删除控件的方法。这也是控件手工编程的重要部分。编程的重要部分。控件的手工控件的手工编编程程21Step1Step1:打开类向导,选择控件、选择消息,点:打开类向导,选择控件、选择消息,点

10、会弹出提示,意思是,函数代码还需要手动删除。会弹出提示,意思是,函数代码还需要手动删除。Step2Step2:在在Dlg.cppDlg.cpp文件中,手动删除函数。文件中,手动删除函数。Step3Step3:在资源管理器中,删除对应的控件。在资源管理器中,删除对应的控件。Step4Step4:在在Resource.hResource.h中,删除对应的控件中,删除对应的控件IDID宏宏如果第一步直接就把资源管理器中的图标删了,也不要如果第一步直接就把资源管理器中的图标删了,也不要紧。打开紧。打开Resource.h,Resource.h,辨认出控件的辨认出控件的IDID,然后,然后Alt+E+i

11、Alt+E+i,全局,全局搜索该搜索该IDID,就能找到控件对应的,就能找到控件对应的ON_BN_CLICKEDON_BN_CLICKED (IDC_ADD_BUTTONIDC_ADD_BUTTON ,OnAddButtonOnAddButton )删除该行,再找后边对应的函数,在删除该行,再找后边对应的函数,在.h.h和和.cpp.cpp文件中删除函文件中删除函数即可数即可如何如何删删除按除按钮钮控件及其响控件及其响应应函数?函数?22Step1Step1:打开类向导,选择控件、选择变量页面。:打开类向导,选择控件、选择变量页面。Step2Step2:选择删除变量,选择删除变量,ClassW

12、izardClassWizard将自动删除相关代码。将自动删除相关代码。Step3Step3:在资源管理器中,删除对应的控件。在资源管理器中,删除对应的控件。Step4Step4:在在Resource.hResource.h中,删除对应的控件中,删除对应的控件IDID宏宏如果先删除了控件,则需要手动删除该控件对应的如果先删除了控件,则需要手动删除该控件对应的变量变量,包括三行:包括三行:1.1.Dlg.hDlg.h 中的变量定义中的变量定义2.2.Dlg.cppDlg.cpp 中构造函数中的变量初始化中构造函数中的变量初始化3.3.Dlg.cppDlg.cpp 的的DoDataExchangeDoDataExchange()()中对应的中对应的DDXDDX行行4.4.删除删除Resource.hResource.h中的中的IDID如何如何删除除编辑框控件及其框控件及其变量量?23

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁