版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ClassWizard类向导一、概述利用MFC应用程序向导生成应用程序框架后,需要为程序添加消息处理成员函数和对话框控件的成员变量,有时还需要为程序添加新的MFC派生类,那么这些可以通过ClassWizard类向导来实现。
MFCClassWizard类向导根据程序开发人员的要求以半自动化的方式添加程序代码,也是进行MFC应用程序设计时一个必不可少的交互式工具。
MFC管理类的方式point.hclassCPoint{private:intX;intY;public:CPoint(intx=0,inty=0);voidShow();
};#include“point.h”CPoint::CPoint(intx=0,inty=0){X=x;Y=y;}voidCPoint::Show(){cout<<“(”<<X<<“,”<<Y<<“)”;}point.cppvoidf();voidCPoint::f(){//添加代码}二、ClassWizard的启动只有在打开或创建了一个项目后,在View主菜单中才会出现ClassWizard类向导菜单项。
启动ClassWizard有两种方式:
1、通过菜单命令,如上图;
2、通过快捷键Ctrl+W。处理消息映射,为消息添加或删除处理函数为对话框控件添加或删除成员变量管理OLE自动化类的属性和方法管理ActiveX类所支持的ActiveX类事件显示当前应用程序中所包含的所有类的信息消息映射消息发送和消息处理的一般过程为:消息发送——消息映射——消息处理。鼠标事件和鼠标消息客户区鼠标消息涵义WM_MOUSEMOVE鼠标移动WM_LBUTTONUP鼠标左键释放WM_LBUTTONDBCLK鼠标左键双击WM_LBUTTONDOWN鼠标左键按下WM_RBUTTONUP鼠标右键释放WM_RBUTTONDBCLK鼠标右键双击WM_RBUTTONDOWN鼠标右键按下WM_MBUTTONUP鼠标中键释放WM_MBUTTONDBCLK鼠标中键双击WM_MBUTTONDOWN鼠标中键按下●客户区鼠标消息●鼠标事件的处理MFC把鼠标消息处理函数封装在CView类中。对于客户区鼠标消息对应的消息处理函数如下:afx_msgvoidOnMouseMove(UINTnFlags,CPointpoint);afx_msgvoidOnLButtonUp(UINTnFlags,CPointpoint);afx_msgvoidOnLButtonDbClk(UINTnFlags,CPointpoint);afx_msgvoidOnLButtonDown(UINTnFlags,CPointpoint);afx_msgvoidOnRButtonUp(UINTnFlags,CPointpoint);afx_msgvoidOnRButtonDbClk(UINTnFlags,CPointpoint);afx_msgvoidOnRButtonDown(UINTnFlags,CPointpoint);afx_msgvoidOnMButtonUp(UINTnFlags,CPointpoint);afx_msgvoidOnMButtonDbClk(UINTnFlags,CPointpoint);afx_msgvoidOnMButtonDown(UINTnFlags,CPointpoint);参数nFlags用来描述鼠标按钮和键盘上Shift键和Ctrl键的组合状态。其取值如下表:nFlags涵义MK_CONTROLCtrl键按下MK_LBUTTON鼠标左键按下,同WM_LBUTTONDOWNMK_MBUTTON鼠标中键按下,同WM_MBUTTONDOWNMK_RBUTTON鼠标右键按下,同WM_RBUTTONDOWNMK_SHIFTShift键按下如:if(nFlags&MK_CONTROL) MessageBox("Ctrl键按下"); elseMessageBox("Ctrl键没有按下");【例1】在视图窗口单击鼠标左键弹出一个“Hello,theworld!”消息框。在头文件EXAMPLE1View.h中声明消息处理函数OnLButtonDown:protected: //{{AFX_MSG(CEXAMPLE1View) afx_msgvoidOnLButtonDown(UINTnFlags,CPointpoint); //}}AFX_MSG DECLARE_MESSAGE_MAP()在实现文件EXAMPLE1View.cpp消息映射入口处,添加了相应的映射宏:BEGIN_MESSAGE_MAP(CEXAMPLE1View,CView) //{{AFX_MSG_MAP(CEXAMPLE1View)
ON_WM_LBUTTONDOWN(
) //}}AFX_MSG_MAP //Standardprintingcommands ……END_MESSAGE_MAP()在实现文件EXAMPLE1View.cpp中写入一个控的消息处理函数的框架,以便开发人员填入具体的程序代码:voidCEXAMPLE1View::OnLButtonDown(UINTnFlags,CPointpoint){ //TODO:Addyourmessagehandlercodehereand/orcalldefault CView::OnLButtonDown(nFlags,point);}【EXAMPLE2】在视图窗口跟踪鼠标的当前位置,并且在视图的客户区显示鼠标的坐标值。2.窗口纠事件役和窗摸口消缎息【E彻XA离MP压LE巷3桶】给一喝个窗拉口程疮序添和加关汽闭和皮打开释时的阳消息,使之葛能在俭打开匪和关筛闭时任有小碰消息北框提鸽示。【例4】在视疯图窗立口单交击鼠识标左井键或羞右键琴分别翠弹出碰不同碌的消忍息框爸,显劣示单额击鼠恳标左择键或云右键魂的次仪数。【例5】在视址图窗惊口单订击鼠训标左真键弹衫出一疾个对印话框计,对裤话框休。关联推对话吨框控裙件的屠成员献变量三、虚案例尿演示案例屠分析级及设显计步斑骤:1、利刺用MF撤C应用吸程序讽向导矿生成狗单文痛档(S都in棒gl裁e流Do华cu楚me深nt老)应用恩程序刑框架胶。2、利丙用资禽源编贯辑器病添加后资源谎:在半本案闯例中悉是一烫个对尘话框(鼠标移单击雷左键丸后弹董出这推个对蹦话框),在膀对话判框上伶要添犬加四喇个按奔钮(B回ut村to更n)和一妄个编耀辑框(E涨di异t)。(1绑)选中输“Re葱so陶ur抱ce震V缩慧ie吧w”选项部卡(2幸)在“Di美al煌og咸”文件集夹上暮单击能鼠标曲右键伍,弹帆出快梢捷菜逐单,赛选扁择“In伙se俩rt棕Di刮al峡og奏”菜单万命令米。(3巩)拖入报控件柳,设民计对蛙话框坊。控件Co仙nt恭ro强l塑A(编辑害框)控件Co燃nt统ro吐l钓B(消息润框)变量Va咸ri犁ab珠le控件揪与关盘联变雷量之骡间的孝数据塞内容少传递马,Up尤da怪te辩Da钻ta(敏)函数梅。课其梁原型哗如下习:BO铃OLUp臂da狂te约Da猪ta(状BO由OL冻b挎=鲁TR扔UE将)摆;当b赋值既为TR映UE时,臂将控或件的雀内容毕传送卫给对扎应的仰成员勉变量泪,当b赋值牧为FA泳LS净E时,牢将成眯员变慨量的冶值传挖送给胶控件制并更迹新控它件的陵显示蕉。控件Co投nt番ro添l变量Va阅ri翅ab烟leUp匆da劳te法Da什ta(fa辣ls诊e);Up种da削te桃Da模ta(tr记ue);3、通协过Cl板as翼sW石iz义ar烤d类向脾导创吗建新盯类,太添加柔关联况对话女框控氧件的姓成员凭变量气。4、打五开Te疲st特Vi掀ew.cp戴p文件懒,在CT符es昆tV艘ie瘦w::On塑Dr柏aw(C辆DC麦*pD缎C)函数垃中添搞加代够码,泪如下(红色寄代码括为添药加代财码):vo将idCT脚es肯tV孩ie左w::On应Dr剂aw(C去DC哑*pD圾C){CT谜es妈tD猜oc*pD浮oc=Ge可tD紫oc沉um橡en仔t()爹;AS沫SE胖RT所_V贯AL灶ID愿(pD须oc);//加T呜OD冶O:挂a孩dd感d支ra侦w幸co驶de缎f微or聪n弹at万iv抢e盖da绣ta岩h池er咬epD就C->Te位xt影Ou漆t(1着0,锤10燃,"单击醒鼠标浅左键收激活柳弹出吧对话穗框!"峡);}//损T勤OD康O:其作亦用是栽为了崭方便浴用户我,让笨用户晋知道办他能/可以作什潜么操谨作。5、通闯过Cl税as筐sW勺iz咽ar驰d类向杀导进趴行消息桥映射,主跳要包萝括:简在视乒图窗民口左恐键单泪击(W猪M_锡LB软UT浇TO喝ND慕OW袍N)、在松对话辱框上古单击享四个陆按钮(B咳N_浊CL炼IC件KE另D)。6、编绩写具亏体的未函数趁代码。vo假idCT帽es牛tV孤ie居w::On汇LB响ut轰to恐nD牵ow涉n(U列IN烛TnF唤la请gs,CP脖oi殃ntpo堆in扩t)//鼠标刻左键费的函碌数{//范T姑OD孤O:戚A蔬dd践y宾ou盘r桶me封ss陕ag怠e陡ha扰nd辱le合r川co钥de自h补er行e证an竟d/纲or肾c指al尸l样de巷fa隶ul忙tCS丸ho困wD闯lg情s放ho我wd稀lg;sh典ow通dl滴g.Do衬Mo陶da搜l(压);CV疮ie需w::On妙LB区ut顶to逃nD赤ow辛n(nF掏la俘gs,仰po糠in仰t)女;}vo惩idCS享ho朱wD效lg::On肯De充fa蛮ul价tb失tn(差)//的函提数{//奋T凶OD认O:脖A煌dd眼y姻ou聋r祸co岭nt夕ro夸l樱no碗ti递fi闯ca铺ti浸on旱h纠an令dl训er经c婚od牢e甲he萍rem_来Te泛xt算="武汉山科技阶大学砌中南稼分校电信息里工程趟学院";Up盖da缩慧te厌Da隐ta(f运al信se租);}vo般idCS对ho冰wD悼lg::On冠Me六ss虾ag免eb洗ox念bt顷n(诸)//的函悄数{//捎T复OD我O:逼A讯dd四y室ou唱r庭co喇nt筝ro棒l级no放ti什fi音ca诱ti祸on点h绿an扒dl易er友c渴od揭e剧he害reUp科da炉te暗Da甘ta(t加ru惯e)悉;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 催办项目预算审批结果回复函(3篇)
- 健康宣教秋季方案
- 2026中国社会科学调查中心招聘1名劳动合同制工作人员备考题库及答案详解(新)
- 人才招聘与培养专项承诺书8篇
- 技术人员设备维护标准与操作方案
- 浙江2026事业单位联考-综合应用能力B类社会科学专技模拟卷(含答案)
- 财务报销审核与审批流程规范模板
- 重庆市2026国家开放大学行政管理类-期末考试提分复习题(含答案)
- 甘肃2026省消防救援系统干部-安全生产知识考核试题(含答案)
- 河池市事业单位2026招聘公共基础知识预测模拟卷含解析
- 事故隐患内部报告奖励制度范本
- 2026年安徽省中职单招试题及答案
- 2026年高校辅导员招聘考试题库(及答案解析)
- 宝宝早期教育的重要性
- 中国肿瘤患者心理治疗指南(2025版)
- (正式版)DB51∕T 2617-2019 《机关职工食堂管理服务规范》
- 贵州地貌民风课件
- GA/T 2350.5-2025公安视频图像分析技术要求第5部分:目标聚档服务
- 企业质量安全公告板制度
- 2021年度云浮市郁南县都城镇万洞村垦造水田项目竣工验收报告
- 2026及未来5年中国三脚架行业市场供需态势及发展前景研判报告
评论
0/150
提交评论