版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VC++的可视化编程
入门冯耀霖1本课程简要介绍Windows应用程序的形式和在VC++集成开发环境下使用MFC编写Windows应用程序的基本方法,以使同学们对面向对象的可视化(Visual)程序设计建立一个初步的概念并掌握一些基本方法,为深入学习和使用VC++和其他可视化编程工具打下基础。
2主题
可视化编程概述
使用MFC进行可视化编程
常用控件及其应用
菜单设计
3§1可视化编程概述
●可视化编程的基本特点
●可视化编程方法
●窗口41.1可视化编程的基本特点
可视化(Visual)编程有三个基本特点:■可视化的图形用户界面设计■使用面向对象方法编程■采用事件驱动的程序运行方式
51.可视化的图形用户界面设计我们已经相当熟悉以下小程序:【例1.1】#include<iostream>usingnamespacestd;intmain(){cout<<"VC++是功能强大的编程工具!"<<endl;cout<<"VC++是面向对象的编程工具!"<<endl;cout<<"VC++是可视化的编程工具!"<<endl;return0;}
6【例1.2】#include<iostream>usingnamespacestd;intmain(){doubler;cout<<”请输入圆半径:”<<endl;cin>>r;cout<<”圆周长=”<<2*3.1416*r
<<endl;cout<<”圆面积=”<<3.1416*r*r<<endl;
return0;}
这是基于控制台的文本用户界面应用程序。运行这种程序之后,屏幕出现MS-DOS窗口,并且按照程序代码的流程执行,用户输入数据后即显示执行结果。78进行可视化编程,同样可以写出相同功能的程序,程序运行出现如图1和图2所示的窗口。图1中的窗口称为文档窗口,图2中的窗口称为对话框。显然,它们比MS-DOS的文本用户界面更为友好且方便。这种界面称为
图形用户界面(GUI,GraphicalUserInterface)。在非可视化环境下,图形用户界面的设计都需通过编写程序代码来实现,且在设计过程中是看不到界面的实际显示效果的。9Vi强su秘al顽S父tu克di模o支持刮可视诉化的掠图形般用户醉界面炮设计偶。Wi度nd尼ow避s应用泡程序夕的每杆个图酷形界粱面元撒素(际如对飞话框触、菜叹单、强命令批按钮算、文她本框凑等)缝都是可视难的,即设泼计时辽在显狡示器梢屏幕着上是男可见凯的,边且所挪见即籍所得。编鸭程者稠可根旅据具私体用加户界扎面设取计的奥要求秘,直痰接使悼用VS系统她提供问的标至准工岩具在偶屏幕塘上“画”出口各种Wi叔nd龙ow焦s风格僵的图匙形界铸面元愧素,袖而不殖必为仗这些突界面猾元素增的构胆建设喘计大袍量代受码,VS会自贩动生钩成这江些界僵面元播素的缴设计窝代码龟,开先发人彻员只琴需为晒每个厚图形衬界面任元素朝设置午特定炒的属窄性值德,代园码编框写只倘针对界面棒元素碌所要奏实现吊的具耀体功涛能。102.面向扩对象打编程滚方式由于Wi山nd喉ow狱s应用测程序葬的复缩慧杂性辱,从对图形确用户恶界面钻到整辅个应猫用程自序,肚都是枣采用别面向申对象粪的方捎法组捎织的逼。Wi纯nd裤ow派s中的对象可以久是所狠有的够规范锣部件约,如摄窗口畜、菜与单、驶工具执栏、弟按钮懒、文建本框赏、以搏及程棉序模乳块等。从用户她的观猜点看称,Wi俩nd施ow糖s应用痛程序姥有一课个窗神口,稍窗口闸上有眨若干尽菜单狂、命耀令按简钮、搏图标峰等界绒面图拌形元匠素;而窗麦口背原后是跌一些氧对应祥的程的序。从MF季C的面惹向对纪象模权型看昼,一贫个Wi栗nd划ow疗s应用程省序可决以拆斑分成蚊许多床功能会独立笔的对漂象,液各自负篇责不维同类毁型的盏工作冈,其跨最基缎本的已构成泻对象侦可以预分为绑两大诊类:程序户对象和窗口暗对象。11一个开应用孕程序岁的执行行就窄像一球场舞雄台演尺出。巡寿应用姨程序疯对象态是幕懒后人励员(梳导演荷、剧曲务等负),阔它们羞负责棵安排姨并指窗挥“日演员志”(岁窗口响)上券场,愚准备是和调较度各磁种演校出“然资源威”(吓如菜穷单、碧工具体栏、误图标激等)旬。从触操作葡系统纯来看朱,具蝴有“颗法人妇”地学位的反是应讯用程辈序对便象而俭非窗鸦口对角象,台应用嫩程序蚀可以阴占有CP杂U时间预和内服存空性间,怒还可枝拥有俱演出补所需候的“体资源赵”。Vi子su幸al色S惜tu声di袖o系统今给每段个对次象分稠配一票个句柄(ha左nd桌le),它是嘉一个4字节脊长的脑整数崭值,霸是对菠象的育唯一卵内部村编号。应饿用程欺序通仗过句勺柄访秧问相欢应的姐对象创。每妻个对技象除啊了句菊柄外滤,还泊有一持个对塑象标辟识符ID,可看悄作是易对象星的外路部名挺。ID与句株柄的系区别蔑主要互在于顶:ID可以允是用名户自价行设序定的慈;而伙句柄代是系储统内净定的阶,对著用户比是透您明的暮,这惑能防贪止应挠用程拾序直怠接访贤问对肌象的洲内部农信息稠。123.事件幅驱动纷的程刻序运肾行机哲制传统灯的文委字用婆户界饱面的齐应用许程序收都有站一个呼起点灰和终倚点,蒙程序损中的泽各模妨块(锯函数嚷或对央象)疗的控誉制过简程和做执行教顺序骑是在盾编写暮程序奖时精扭心设末置好惊的,撤是预艰知的绪、确榜定的攻,整澡个程然序的匠运行停过程链是明科确的批。这煎种程剩序运战行机我制称舱为过喜程驱免动。可视们化应彩用程普序则瓶采用剩的是菌事件效驱动慰的程膜序运元行机村制:事件慈发出恶消息宁,消骨息激岂活对峰象。即应湿用程确序的孕运行绞没有能严格扁的起烦点和婚终点刃以及穿固定的叼流程困,各脏对象恰之间匹没有未规定辈的执糟行顺嗽序,即程岂序的那运行畅过程倒是不机明确六的,笼而是膏由事诉件及其伶消息睁控制督着对妖象的雷激活询和程躬序的竞运行量过程盏。对象多通常杠处于赠循环稍休眠疮状态栋,当克发生陕了某搅个事娇件并匆有相腰应消芦息传柔递给凤对象商,才夫会按森照消薯息的乖指示扮执行奸程序省代码添,一够次消卖息的羡处理谱工作仗完毕膏后又揪恢复逃休眠册状态条以等射待下杰一个嗓事件执的发龟生及龟其消担息的迈到来仓。13事件(ev何en坡t)是肃什么引?事马件的言含义骡很广风泛,彩简单百地说和,事件雕就是脉激活播对象蹦执行守程序介代码负的一烤种动蓝作。在Wi引nd恢ow付s的操围作环蜜境中寒,无裂论系平统产楚生的茅动作仿还是左运行循程序抵时用钟户产子生的金动作闭都称群为事场件。假最常乱见的宁用户风事件少是鼠锤标事泛件和历键盘童事件更。实肠际上城,任绕何一样个拥庙有设骄备驱忧动程诵序的美系统加输入示设备量(包佛括端淘口)遣都可检以产冲生各廊种事勾件,石发送筋自己迅的消是息。消息(me治ss春ag举e)是Vi炎su品al显S秀tu您di抢o定义瘦(Wi违nU骆se丹r.贝h头文缸件)厌的一种滋特殊捆的数率据结迷构(MS件G),望它打不包了新“事匀件”宋发生喜的相赌关信置息,例沉如:猫消息谅接收椒者的怪句柄赵、事薄件的历类型便和来瘦源、乎消息泉参数吸等。14Wi截nd跌ow贿s系统塔有各膊种各津样的述消息或,消杆息的偿传递钩无时秃不在哈发生哀,即茫使电承脑闲鸣置时孙,还察会有何系统峡时间堵的消策息传捐递出绕来。辟任何施一个遥看似眉十分肺简单怨的动动作都掀会引辨发窗络口之鼠间许稿多消司息的育交换社。在Vi客su秆al孟C粥++中,什么戒对象保可以要产生胜或接壶收什品么事还件,遥是由MF娘C规定排的。例如循,命材令按谦钮有孤鼠标辽单击瓣(BN石_C违LI吐CK插ED)和弃双击膨(BN控_D庄OU任BL肯EC炮LI磁CK攀ED)事发件;文本毁编辑走框有薪改变女文本音(EN哀_C抄HA遇NG看E)、接匀受输宽入焦斗点(EN饺_S弊ET霉FO伪CU测S)、失去轨输入玻焦点布(EN糟_K沾IL喇LF城OC担US)、单击外垂直创滚动鬼条(EN叹_V袍SC誉RO搬LL)等遍事件左。15当在窄对象合上发任生了倚某个母事件捷并发毕出了回相应虎的消辅息后两,接双收者逝对象食就要膨响应纸并处削理该痰消息骆。每个什需要男响应耍的消名息要添求对帮应一宫个处增理该凤消息蹈的程舱序——事件阅驱动金程序。响应扫消息种就是牙启动尤相应爽的事吓件驱钟动程滥序。Vi乐su卧al萝S故tu鬼di德o中将弱响应答消息蛇的过逢程称获为消息吴映射。161.蕉2可视岭化编近程方纤法使用VC变++进行福可视链化编鸡程有换两种家方法痛:■基坝于Wi各nd女ow饭s圾AP霜I函数舅的编赚程方瞧法■基谊于Mi贪cr贱os朵of弦t屋MF棉C的编未程方浆法171.基于Wi夕nd击ow丈s旱AP始I函数闻的编逮程方补法AP埋I是应得用程馒序编忧程接贿口(Ap粗pl速ic慨at东io方n躲Pr剪og送ra铲mm掠in郑g裳In卷te县rf得ac泥e)的鹅缩写恳,是Wi等nd赠ow幕s操作查系统伪与Wi议nd娇ow竖s应用宾程序竿之间严的标散准接杯口。锈作为Wi赖nd纵ow卖s操作享系统馆的组扰成部纳分(sh子el印l),AP筐I提供如了10督00多个窑可供骑应用探程序对直接谣调用控的C函数弱(在Wi疮nd仆ow豪s罢AP辨I参考恭手册躬中有董详细电介绍挤),组这些鸣函数羽大致轻可分窑为三振类:■窗口角管理世函数:实痛现窗掏口的每创建燃、移守动和厘修改授功能议。■图形屑设备膜接口版函数:实奏现与魄具体时显示投设备谊无关欧的图而形操冰作。■系统傲服务疫函数:实交现操述作系抱统提般供的草各种眠实用虎服务流功能尺。18使用AP膏I设计Wi赞nd柳ow眼s应用印程序尝,对舅于理迷解和雕掌握役面向功对象免程序线设计赠的思池想和豆方法目是相笋当关价键的左,是物想成吗为Wi趋nd躲ow粥s编程予高手蚀的必识经之稳路。疾但它工要求矿编程贯者必巩须熟累知Wi鞠nd匆ow黎s应用会程序蔑的架恰构、结事件盈驱动马以及鸡消息垄传递麻等内般部机截制,吵并且冤仍然及必须浸编写闸大量贺代码驾,即浸它要止求编痛程者乒具备烘较高浩的专福业素命质,哀这对泻初学鹿者来楼说无壤疑是呀比较靠困难肥的。草当然搞,使挤用AP巴I编程拒更具泥灵活丹性和挎个性栗化。AP某I支持拒所有Wi址nd薯ow庆s应用朵程序戏的开齐发系表统,如VC白++、VB、Ja社va等。192.基于Mi桌cr郑os配of愤t昂MF肿C的编蚀程方莫法MF费C是微软籍基础乖类库(Mi惊cr董os职of绒t普Fo墨un纷da为ti僵on拢C曲la悉ss)的刊缩写布。与AP口I不同绍,MF绣C不是Wi旷nd幕ow招s操作驼系统鸣的组嫌成部垒分,或而是益微软击公司贡专为VC羽++开发贩的配央套软薪件包哈。与VC谁6配套顿的是MF杏C6搬.0。MF吉C充分晚使用凝了面怨向对援象方花法中底的继煮承和程多态乔性技孝术,座以类料的方牌式封冶装了Wi滚nd咳ow素s应用越程序误所涉愤及的荐几乎所见有的视标准两部件假,如Wi捏nd弟ow嫌s应用塌程序杨的架构那、各某种标卡准的嗽图形涛界面山元素侵、其君核心晃是它以C+仍+的形带式封肥装了Wi肉nd有ow曲s坏AP狱I的大妄部分舌函数净。20MF苏C是一瞧个很荐大的俊类层固次体裙系(MF厉C6富.0中包潮含了20屋0多个银类)她,它则由一哲个称蝴为CO疯bj合ec骆t的类差作为艺根基则类,杂其他相类大器部分族从该软类派嫌生而仇来,身其整范个类鸦体系愧可大毙致划溜分为沟:■基类■应用呆程序长框架昏类。包括惑:应恒用程陆序类吩、命徒令类倾、文纽奉档/视窗泊类、萄框架泉窗口税类、妈文档颂模板企类等■可视古对象堪类。包括殿:窗额口类拜、对骨话框陆类、穗控件脾类等■绘图胞类。赢包括据:绘饶图工寄具类冻、设知备描视述表裂类等饥。■简单感数据妥类型淋类■通用苏类包括团:数叠组类章、类迈表类论、映标像类■文件屠和数纸据库摆类包括乒:文拆件I/丢O类、OD剃BC类、AD雹O类■In圈te航rn悄et和网盼络工搬作类包括摊:Wi恭n3迈2女In伐te姓rn火et类、Wi秩nd蒙ow榴s购So落ck量et类等■对象殊链接夏和嵌钞入(OL丧E,隙O驼bj泛ec蓬tLi的ng或ki什ngan况d插Em识be万dd钟in吗g)类■调试仗和异泄常类21事实曲上,MF糕C封装统了一如个Wi超nd吐ow深s应用佣程序帜操作超的每帮一方恢面,指因此谜使用MF毅C编程蚂,编嫁程者方可以明把注缩慧意力甚集中压于自米己程巷序所戏特有组的部许分,烤不需口要事彻事亲谱自动介手。列与直骑接调殿用AP桐I函数吗相比葛,这缺将大躬大减现少编鼓程者浇编写济的代集码数前量,奶使编蓝程工气作变捎得更政容易辣;同仇时,衫程序垮标准懂部分欲由MF猜C的类丧来提翠供,雕可使率程序尾变得艺更规踏范,宋更具右可读喊性,般效率塌也更新高。对编越程新翻手来贩说,MF葬C的最哥大优杆点是钢它以骂高效隆简洁写的方烟式为魔编程确者做讽了所俱有标转准部凡分的餐工作速,特产别是瓜编程趴者可背以在润不需佩要写犯一行争代码勿的情施况下役完成财一个龄完整爽的应即用程序狮架构(约寻需千皮行代楼码)舞。MF喘C中包拒含了怕成千上自万行君功能蜜强大都的、止经过争优化勺的Wi帽nd烦ow消s程序专代码叙。编甲程者低只要社定义蚕了某底个MF袭C类的土对象腿,就外可以经调用居该类况的成馅员函壁数,逗轻轻侄松松泡完成剩本该羊由你辣自己泡一行百行编守写的杰程序术代码雕。从袜这点高上说坐,MF充C极大沉地降刮低了战程序依开发雾难度业。221.仙3窗察口窗口是Wi友nd框ow怕s图形吼用户成界面桑的最炭基本扎和最察重要挣的部时件,手每一疮个Wi寇nd纤ow酬s程序桨至少指有一禁个窗席口。它故Wi装nd米ow辟s图形火用户徒界面消也称滥窗口沈界面犹。231.框架龙窗口框架克窗口氧是应帮用程渴序的撞主窗巷口,控负责旨管理骂其包樱容的妈其他秘窗口缩慧。一倒个应蚀用程搭序的数最顶域层的季框架浇窗口糕是应丢用程蔬序启瞧动时拥创建灶的第脖一个掏窗口荷。MF隔C提供孕了由遮基类CW仰nd(窗扇口类粱)派而生的4个框糊架窗沸口类杯:CF盘ra扩me艰Wn缸dCM买DI滤Fr画am诞eW磨ndCM姥DI湾Ch觉il待dW犁ndCd绢ia悲lo驳g用于份支持沫三种轰标准管框架载窗口乌:24■单文心档(Si吃ng含le盾d芬oc斥um超en挽t)窗拨口由Cf搞ra两me雾Wn扯d类支罚持。锹文档踏窗口佛主要熊由边印框、脖标题眠栏、但菜单已栏、饭工具控栏、箩编辑凑区等娃组成竭。■多文辈档(Mu英lt张ip捡le深d盈oc咸um秩en楼ts,MD灶I)窗宰口由多虚个文提档窗便口组眯成,盒其中漏第一需个打家开的脖是主骨框架毛窗口蜡,由CM慢DI很Fr驶am仆eW说nd类支般持,脑其他座为子局框架党窗口册,由CM辟DI析Ch棕il澡dW钱nd类支瓣持。垄子框棵架窗徒口没佛有菜素单栏和工仁具栏杏,它马们共婆享主痒窗口璃的菜辫单栏攀和工图具栏悉。■对话瞎框(Di稻al餐og)对话静框是卵一种刷特殊刘类型膊的窗惊口,济它没蕉有菜比单栏搏和工击具栏雹,且迅一般巧不能育改变肾窗口钢的大架小。前对话秘框由Cd阻ia气lo巾g类支债持。252.对话见框与娇控件对话朴框是应摔用程鞭序用窑于显朋示或孙提示疯,并陷且等王待用茄户输奇入信匠息的添弹出虫式窗钢口。对对宾话框轧的操庭作一旬般是册通过娃在对拐话框餐上添耐加控带件来详实现叶的。对话尸框与制控件瓣密不亏可分竹,在咳每个怕对话缘瑞框内隐都有补一些炒控件昆,对诵话框铃依靠桂这些鬼控件盐与用票户交坟互。可核以说望,对沙话框逗是Wi应nd硬ow胜s应用卧程序伐中最侮重要帅的用香户界趋面元僻素,肥是应吨用程炸序与鬼用户战进行违交互概的主关要部腾件。控件Vi赵su需al恼S轧tu撒di添o把主射要设芽置在悉对话尤框上表的一些章标准允的图很形界趟面元投素定揉义为控件(C刚on踩tr转ol皮),如蜓文本忍框、葛列表缴框、曾命令挑按钮锹、复省选框南等,它们笋中的酸大多倍数可梳以捕规获事招件并潮向对终话框黎发送漆消息土。控到件实涝际上栽也都臣是窗有口,所有淡的控特件类虫都是CW篮nd类的问派生庆类。乡丰控件病通常勾是作晕为对漠话框纲的子码窗口歌而创蜜建的厚。Ov罗er26§2使用MF赴C进行脱可视排化编来程●建立浑项目鱼架构●设计友图形粒用户栽界面●设计厌对象鸭的事府件驱灰动程酬序,某编写浩相关毫代码●项目饰的编参译、轰链接绍和运篮行27Vi罩su照al筑S融tu尿di医o把开闲发一谜个应扇用程椒序的躬过程朵称之塞为“项目”(Pr困oj仿ec掩t,很缝多人刚把它馅翻译略成“工程”)庭。开船发一坚个Wi罗nd丹ow慈s应用舟程序贼的项践目远型比开耽发一欲个控滩制台脚应用亲程序建项目塑要复住杂得脏多,洽工作轻量也泛要浩护大得泼多。奇好在Vi茅su耍al厦S邻tu筑di万o提供脊了一桌组强粘大的MF够C项目烫的开倘发工俊具。开发食一个MF港C项目岭通常补有四洋个步青骤:St毒ep西.1建立疲项目浑架构St档ep醒.2设计陕图形论用户扮界面St咳ep朝.3设计魄对象匆的事奖件驱稍动程寒序St戏ep气.4项目陷的编石译、具链接省和运穗行下面盖结合烘一个现简单搁的编傻程实久例(Ca饼se索1)“肢计算茶圆的屡周长卫和面惰积”抹来介险绍这貌四个鸽步骤和。282.仪1建立剂项目匀架构建立项目架构湾(sk掉el芬et陷on),绍类似捧于一工个项许目的仇总体报设计必,它淡需要供确定项目的类粮型,纺根据项目类型狐创建娇并组真织各仍种基泼本组尖件,陡包括课:所岁有的探类、谜一些愈基本挪对象尽、项目所需近的必茫要资而源等劳。从伪而为项目搭建泼起一咽个完俯整的织架构伤。29所谓礼项目派类型绳,是疮以项飘目采古用什密么框椒架窗粪口作辆为主古窗口悄来界郊定的废。MF恨C支持未三种押标准轮项目栗类型姨:■单文劳档(Si煤ng萌le技d异oc耕um文en旺t)项惯目以单再文档锈窗口典作为售项目稿主窗耗口。■多文苹档(Mu译lt春ip渗le编d盈oc稳um掌en哥ts)项雕目以多脱文档蜓窗口衔作为许项目琴的主浑窗口袜。■对话穷框(Di吴al推og句b采as秧ed)项切目以对环话框盈作为朽项目狠主窗染口。变这是剃最紧友凑、最简这单的宾一种徐标准凑项目脚架构迫。30VC抗++为用赢户建钉立项目架构章提供片了一遭个强治大的奶工具——MF水C械Ap第pW乖iz乒ar余d(MF件C应用丙程序恩向导兽)。本实盛例采戒用的驰是对趋话框萝架构壶。31操作俊步骤1.选择VC朽6主窗杂口菜泛单栏稀中的园“文陶件|笛新建慈”菜持单项甘,弹西出一漆个如辜图3所示民的“新建”对牧话框弊。2.在对宫话框掘中选愤择“睁项目轰”(pr躁oj搁ec花t)选贼项卡算。选守择MF塑CAp评pW棒iz布ar盈d[短ex喂e]项,弱在对忆话框慎右部区输入疫项目照的路扫径和助项目哈名,差然后盘单击净“确盈定”搅按钮扰。VC君++以文撒件夹圾方式悉管理浸项目践,如并图3所示,ca守se鼠1是D:不\C煮PP震MF惜C_意PR阵J\下的根一个额文件惜夹,新该项剖目的各种政文件夸都将乘存放楚在这调个文炮件夹研中。3.在系佳统弹吵出如煌图4所示日的“MF眠C应用刘程序板向导杰-步红骤1”对话镇框中衔进行井项目金类型尾选择详。先倒选择搅单选职按钮馆“Di遮al纲og侄b候as炉ed”(对坟话框糖项目朱),货再单稼击“沾下一讽个”戴按钮柳。324.依次男选择伟系统尾弹出甜的图5至图7(步敢骤2至步捆骤4)中广对话浆框的痕选项卧,用晨户可攻以先棋全部滩采用累默认耳选择锹,然肉后在纲编程尤过程依中再蠢按需押要修蛇改。眼单击主图7中的类“完嗓成”愁按钮慈,或萄者在航出现机其中投任一蛇个对辞话框最时单渴击“亚完成杀”按妄钮,隐表示倘默认傲其他雄选项从,系捉统就煌不再累弹出展其他痒对话卖框。5.系统戴弹出飞如图8所示痰的“去新建省项目荐信息闭”对夺话框截,其削中列留出前笋面所满做的常选择盟内容则,单味击“绑确定档”按言钮。至此毕,项目架构勉创建演完成裳,系勤统回略到VC床6的集成锅开发粱环境耳,如图9所示村。从该识窗口稼的左纯窗格支的各集选项长卡中朋可以观观察张到MF热C如Ap喝pW乔iz丑ar幼d为一焦个对躺话框项目的架震构创抹建的指所有猛组件猴:33■CC劣as蒸e1蝴Dl券g等三妥个类其中故最主别要的虫是CC供as粗e1漆Dl缩慧g类(项目ca播se步1的对跌话框信类)聋,它亚由Cd的ia盼lo它g类派砍生。34■ca语se免1D况lg瓶.h等四迟个头奴文件ca冈se亩1D钉lg反.h是最端主要旅的一溜个头敢文件伞,它懒包含耕了CC驳as爆e1早Dl娱g类的岔声明分。35■ca湖se矿1D示lg导.c币pp等四巨个C+膝+源程所序文混件ca俱se趁1D辨lg圾.c伤pp是CC博as循e1摄Dl瘦g类的惠实现罚,它远不仅摘是最颤重要抗的源振程序辣文件眯,而疲且是钓整个项目的核就心。欧用户研的编胡程工录作主彻要是兽在这讽个文谱件上筒完成巧,它羊将包钩含实盖现具钻体应似用功档能的我全部陶代码命。ca讽se程1.江cp纽奉p是项目的启动畜程序茧,类歇似于遇非Wi阴nd慎ow盲s应用春程序鸣中的ma拔in函数虾。36■另陡外,MF迎C幻玉Ap披pW维iz稠ar庭d为项目生成满了一恩个对饶话框册窗体楼、一治个项目图标擦、项目版本缎等资舞源。37至此倒,虽悬然一嚷行代统码都唐没有羽编写辟,但遗这个积应用业程序培架构亿是可乒以运菠行的言程序然。进波行编鲜译链郑接后使,其碎运行疏结果糟如图10所示笛。以伪这种竭方式夹建立掘的应催用程正序,荷其主陵窗口桥即是培对话父框。图10溜.对话甘框项驻目架率构的怀运行雨结果382.鞠2设计身图形埋用户铲界面●设计近工具桐与设岩计方书案●操作掠步骤391.设计尿工具越和设咏计方减案在完岸成了凤对话掌框项戚目架泥构的舅创建纺后,VC厦6窗口享上弹搭出了MF机C的对丧话框只编辑掉器(图11)。对话宣框编集辑器着主要耗用于度创建搁、编届辑对晒话框绝窗口僵,向缠对话解框窗御体上越添加矮控件显和调匹整布样局。敲对话关框编老辑器悔主要朋包括很如下陪组件梳:对开话框肚窗体慨、控砍件箱沈、调向整(珠布局朱)工侍具栏劲以及膛对话郊框和螺控件隶的属谷性对致话框谁。对话像框窗黄体是MF束C给每码个工国程默兼认生嫌成的常一个图裙形资裁源,传它是CC辆as坡e1锄Dl碧g类的睡图形榴化。所谓心窗体杜即窗纵口毛河坯,性是还缘瑞未完技全成买形的市初始窗亏口,挡它如且同一赞块“愈画布望”,咏在它这上面岛可以捧画上窗各种控件捷来构帮成项隔目所坛需的绩实际专窗口肺。窗船体的尚标题灭栏上肯显示趟的是优本项救目的暴名字嘱,窗膜体上说可设浩置网嫩格,饮用于盯安排五控件败的位干置和叮大小攀。在品程序革运行筑时,颗网格烧会自窃动消信失。40控件脱箱,MF范C设计驳有20多个胆标准沉控件疯类,衫每个哪控件译类就英是制蛋作控腥件的裁工具粉,控吹件工紧具箱粗,简港称控件冒箱(图12)是究存放肥控件罪类的扶容器粒,这兼些控链件类需都以诊图标隙式按领钮表沉示。培开发闸人员短可利眼用控杨件箱鸣在对捡话框熔上创谣建各谁种所炭需的病控件志。将控级件箱致中的共控件矿工具馒复制指到对弹话框菠窗体腐中,爱即在泳对话粮框中愤创建魔了相蓝应的雀控件奏对象,这杠可通张过可互视化粘操作里实现挤:■方法1:用依鼠标桑按住至控件忌箱上法所选值中的跃控件宁图标苏,拖隐到对织话框翅中合紧适的焰位置理。或■方法2:先萌单击岔控件绒箱上阁所选鞋中的鬼控件翅图标值,然后粥移动桂鼠标连到对来话框奸中合安适的嫁位置析。复制系到对汇话框贝上的厦控件以,可很以移搞动、阻复制兰、调头整或删英除,饥也可献拖动饮鼠标瞎缩放嗽控件生的大鄙小。41对于喜本实丈例,尺可在旧对话刷框上趋建立妨如下怖控件块:■1个编瓦辑框:用腐于用能户输钢入半顷径值袜;■5个静适态文伐本框(静诵态文窑本框甩只能低显示档文本刺而不飞能输遭入文巧本)秧,其虏中:2个静芳态文尖本框圾分别亩用于针显示应圆周坐长和港圆面弦积,其余3个静直态文险本框紫分别炸用于覆对上携述三玩个文史本框貌进行升文字院说明医。■2个命贤令按汤钮,“迷确定卡”和币“退既出”黄:钉前者乏用于确定翅输入抛值,狮计算具圆周膏长和淘圆面歇积,刮然后益把结果梯显示筋在对破应的友输出痒框上酿;后绸者用荡于结英束程序由的执盒行。效果坊如图2。422.操作复步骤(1昼)设置族主窗远口的恭属性谷值单击哪对话过框窗权体,负使其娇成为莫当前什窗口匙(周倦围出色现8个小搂方块收)。从VC潜6窗口郑的菜默单栏民上的钻“查星看”罢菜单降中选眉择“敢属性绩”选玻项,铁或者安用鼠朋标右仔击窗厚体,浊从弹敲出的辩快捷畜菜单横中选扰择“递属性师”,梦都将剃弹出梢图13所示航的“对话浊框属盛性”对换话框林。在“载常规蜂”(Ge歪ne觉ra开l)选份项卡肥下:该对古话框绿对象型的ID默认吧为:ID兼D_皆CA辟SE痰1_怠DI次AL蓝OG将标爬题值重设置挖为:计算确圆周为长和姻圆面舞积单击膊“字悼体”秃按钮宗,进停行字呢体属炸性的券设置其余质属性驳采用锄默认暗值。关闭作属性雅对话柱框。※上述炼设置浮在CC芽as恨e1誓Dl承g类的腊代码灭中立余即被丛反映支。43(2解)添加煌编辑斜框控漠件用鼠纽奉标把催控件女工具朝箱上承的编虏辑框散拖到伍对话殿框窗叔体的迹合适糠位置受,就棵建立潮了一不个编戏辑框竞控件按。用鼠紫标右小击该示编辑阁框,松从弹秆出的绍快捷屯菜单蜜中选津择“浓属性盗”,睛弹出求如图14所示恳的编辑姨框属伐性对床话框。该编矮辑框心对象然的ID默认放为:ID宰C_螺ED拍IT贫1在“葱样式姻”(St某yl摄es)选皱项卡耳中设慌置相获关属技性值红为:救“靠左”(Le旁ft)和牛“垂直居居中”(Ce狂nt馋er)。其余虎属性刊采用绕默认嚷值。关闭录属性狼对话全框。44(3闹)添加茅静态潜文本谣框控策件用鼠汉标把转控件袋工具会箱上维的静绩态文根本框龄拖到舰对话拘框窗陡体的祥合适召位置碑,就元建立悲了一蜂个静尺态文库本框犁控件险。用轰同样哑的操著作(座或复涝制)补建立银其他商四个腹静态鉴文本老框。用鼠示标右予击静苹态文尊本框娘,从崖弹出孤的快斥捷菜屯单中波选择笑“属邪性”偏,弹飘出如谋图15所示搞的静态端文本叠框属弓性对话紧框。可对促这5个静示态文胳本框就的属宜性值召设置赏如下芦:ID标题奴其他捉属性--穴--蹈--汉--特--取--绑--抬--筋--馋--艘--监--疑--筹--吉--袖--稠--挺--授--喉--常--晒--慕--愁--栋--靠--呈--辟--舱--矿--朴--垫--回--课--畅--京--首--手--败--植--之-ID梅C_罗ST贤AT砍IC尚1输入窝半径:居中梨,垂树直居贩中ID县C_蜂ST厅AT遭IC罩2圆周转长祖居中逆,垂筒直居咏中ID药C_伙ST揉AT径IC吐3圆面痕积汤居中仍,垂培直居捕中ID膝C_驳ST运AT桐IC篇4默认嚷靠左胀,垂嚷直居粥中,Cl枪ie帅nt睁e欲dg跪eID箱C_会ST蜜AT萝IC肝5默认父靠缠左,燃垂直两居中,Cl妙ie族nt幼e传dg肯e其中鲜,ID苍C_汗ST垄AT吹IC红4~凳5作为踢结果惨输出游框,庙分别早显示证圆周仍长和查圆面咽积;ID裁C_去ST青AT馅IC鉴1~再3分别确作为聋输入幅框和垒输出希框的霜文字救说明浑。45(4胆)建立运命令动按钮项控件建立2个命链令按锣钮,垫它们告的属展性值桐设置斥如下随:ID标题--挪--礼--振--学--堪--妥--搅--预--帝--丙--咳--钥--帖--胜--技--订--群--圾--斤-ID茶C_址BU躁TT射ON稿1确定ID替C_悼BU逼TT种ON墓2退出--诉--拾--要--野--今--弟--喜--择--扯--嫁--贝--裤--及--乎--奴--污--独--正--渠-至此辫,控趴件在葬窗体问上“病摆放帖”完全毕,莲可以家用鼠订标调整障它们蜡的大岔小和门位置茫,也屈可以晶用调德整工辉具栏调投整控铁件之斜间的亿对齐馆方式漆、分治布、寄大小压规格讽,以痒及测雕试效草果,辆设计倡好的指图形煌用户愤界面玩如图16所示雄。462.捕3设计致对象六的事扒件驱侍动程未序●设衡计的展工作隆和方贱法●设煤计工跟具与箩设计鹅方案●操贤作步攀骤471.设计相的工况作和悔方法对象邀的事织件驱蔽动程吓序在VC谜++中称拣为消息倦处理夏成员矿函数。对键于对沃话框且工程能,作前为工察程的咏主界混面,壶对话劣框对郑象需最要响腹应并饥处理宇所有贩的控漠件消毕息。挺设计丢对话喝框的建消息亩处理弹成员及函数裂的工纤作主缸要包绑括:■确挤定各锋个控沃件要催传递伸的数馋据;■确圾定对馋象的腾消息传映射赠,即挽接收纯什么洪消息泥,建洒立什么次消息队处理轮函数个;■在驳消息枪处理晒函数现的函轰数体域内添万加代忌码。48在实曾际应征用中厕,读啄取或顿更新拍控件趁上的谢数据岸是对蛋话框厉的非专常重阿要的泰工作强。MF乐C为此栽提供估了一茂套标探准方岂法:DD率X(Da惊ta傻E蜡xc滚ha启ng染e,数笼据交要换)四和DD坊V(Da映ta盏V阻al残id扯at巨io做n,数捏据校豆验)膀技术翁。DD大X通过成员孙变量(me将mb聋er脏v永ar藏ia堪bl完e)的某方式幸实现服对话姓框与打控件窜之间本的数蚁据传张递。如果韵要在鸭对话颠框的嗓消息题处理乒函数等中访奥问控疫件上定的数削据,迁就必伶须先机在对删话框素类(CC乔as辣e1吓Dl杀g类)中分晨别为唯这些桥控件蚁添加(声驳明)短一个禽成员直变量听,每一龙个成辫员变倚量绑定周一个诵控件。在阶消息词处理丈函数沫中是迎通过成员站变量域访问委控件程的。49成员虏变量片是对番话框宴的pu诱bl粒ic数据汤成员团。有乖两类放成员梅变量汗:■Va遮lu背e类成绣员变启量:联表示昼该变向量的改值为焰控件差的数脆据。■Co煮nt效ro纽奉l类成麦员变角量:亭表示教该成签员变谣量就痕代表但控件疤本身锻,即伐它是忆控件沙的一嗓个对伯象,怖其值誓实际泄上就括是控答件的忆句柄眉。DD吵V用于代数据掌的校扣验,也例如屑自动之校验暂字符斩串的剂长度数和取窗值范商围。50使用MF魂C谜DD山X/候DD像V的流熊程是月:①首碍先定揪义用醋于接葵收控垮件数女据的摘成员鞭变量棕。例形如,哄为编倍辑框ID榨C_骂ED膀IT畏1定义优一个Va抖lu旦e类的do碗ub欲le型的答成员吹变量阀,用勺于接杆收用腾户输锣入的穿半径杀值。汁定义删变量令的同慨时可逝以设坛定数选据取螺值范哑围,纸提供馆校验牺。②然趁后,接在对准应的替消息厕处理列成员阔函数桥中调演用MF秋C函数僻传递归数据宝。最稻简单瓦的相贯关MF览C函数伶有:Up敏da五te妈Da商ta()//更新抽成员萝变量僚,将访控件苍上的赌数据翁传递鸽给成宜员变疫量Up暴da衣te球Da委ta宏(F耕AL粮SE)//更新裳控件倒,将初成员扣变量密的值步传递躺给控连件512.设计闲工具乓和设想计方缺案完成酬上述碍工作押可使岛用VC榆++提供厨的一肺个强金大工袍具——MF音C遗Cl痛as课s身Wi秋za帐rd(类果向导攻)它主亚要是摇用来钻管理淡项目窑中的使对象葵和消贷息及访其消晌息处遣理函既数的锻,是MF伪C编程狐必不晋可少秀的重蕉要工仰具。52对于辆本实穴例,蔑可设滚计如享下成饮员变补量和灰消息额处理句函数章:■为便编辑粪框ID霉C_脱ED逢IT沸1定义走一个do税ub针le型的妇成员衬变量m_度r,用玩于接肉收用倚户在伏编辑南框中身输入壮的半搅径值裳;■为狗静态据文本的框ID奋C_旗ST助AT够IC直4和ID玩C_牺ST金AT椅IC生5分别篇定义铜一个Cs扬tr犯in牵g型成麻员变盈量m_守gi必rt听h和m_田ar跑ea用于谢向静油态文利本框谷传递滴计算厚结果似。静态秋文本杯框只爸能处白理Cs凑tr剖in放g(字率符串部)型劣数据。注意号:成铃员变饺量名借的前移缀“m_柱”是MF勺C的风况格。MF爽C也有沸自己纷的数酿据类歇型,哭不过赤与C+太+很相欧似,印容易怖理解久。■为布“确狠定”含按钮巡寿建立斥一个沟“单扭击”(BN粪_C框LI脂CK阻ED)消李息处咱理函佣数,胡用于计算进圆周蓝长和势圆面贷积,撕并显创示计裹算结浆果。■为也“退鞭出”辰按钮仙建立鞠一个部“单韵击”迎消息身处理厦函数店,用贱于结菠束程泛序的驴运行抬。■建弹立一听个对端话框锦的初赤始化酷函数路,对衣成员近变量m_济r、m_计gi膊rt杨h、m_薯ar今ea进行胸初始亲化。532.操作掩步骤(1岔)添加硬成员则变量打开杆“MF劫C乖Cl贼as等s绘Wi砍za光rd东”(类论向导强)对擦话框碌,如图17所示福。方碧法可耐以是从:从VC倦6窗口懒的菜矛单栏傻上的罚“查掀看”肺菜单呀中选糖择“碑建立袜类向眯导”厉选项五,或晚者用叶鼠标踪蝶右击誓窗体亩,从汽弹出起的快粒捷菜易单中负选择醋“建糟立类眯向导职”,萄或者瓦按快找捷键Ct笼rl洞+W。选择罚“Me插mb纤er孔V近ar告ia乌bl构es聪”(成容员变辱量)克选项马卡。拴从“Co病nt造ro粮l颤ID峰s”(控邪件ID)列详表框闯中,赠可以渐看到已经投建立杨的各纪控件毒对象梁的ID。为编恳辑框乳添加看成员编变量猪:选宅择ID芹C_忽ED回IT壁1,单复击右边债的“Ad停d理Va颈ri制ab壶le派…”(添沈加变忠量)队按钮犁,弹碑出如图18所示仅的“中添加阶成员私变量荣”对团话框54在第报一个霜文本怜框(Me停mb朝er摄v胃ar惑ia衫bl摆e峰na妻me)中踏输入廊成员户变量膨名,饭如m_酸r;在第代二个创下拉汤框(Ca携te咏go土ry)中院选择诞成员抗变量伍的种吧类,Va啊lu兼e;在第背三个值下拉趁框(Va帅ri在ab贱le姑T机yp愧e)中沟选择蒸成员医变量棚的数倚据类贺型,do黑ub失le。单击OK按钮总。回怜到“Me戴mb翅er话V剧ar锻ia箭bl你es搜”选项焦卡,链设置辉变量m_赞r的取樱值范反围,发如最须小值忙为0,最威大值委为10辜00叔.0。用同伸样的烂方法梁为静支态文薯本框ID延C_区ST厨AT汁IC趴4和ID跨C_闷ST手AT侨IC音5添加Cs狼tr俭in乌g型成婚员变昨量m_较gi加rt届h和m_哲ar企ea,最战大字氏符个丸数为10(图19)。55(2哗)编写时消息练处理辱成员忌函数①主窗钢口的锹初始坦化函援数切换摆到类灶向导型的“Me棚ss杰ag烤e凉Ma调p”(消冠息映关射)号选项惯卡,纺如图20所示轮。在“Ob贸je也ct施I断Ds厘”(对防象名划)列技表框牢中选督择主苦窗口设的对迎象名CC通as茂e1够Dl昏g;在“Me哗ss溪ag员es重”(消开息)痛列表辞框中惨选择衣消息WM博_I驳NI兴TD滔IA东LO孔G;此时佣在“Me涂mb对er拴f鞭un裙ct决io郑ns嚷”(成浮员函迅数)列表建框中胜会自考动指孙出相迎应的MF祖C已定愿义的虚函暮数On堪In盏it熄Di思al偿og。(录主窗根口对役象是接由MF呢C默认锯生成书的)56单击航“Ed锣it苗C液od走e”(编届辑代轿码)狠按钮任,弹考出Ca蜂se楚1D团lg耻.c菊pp文件财的编帅辑窗选口,吐并显号示On唐In速it斯Di闹al纽奉og()函数自的代田码清逃单,腥找到暖注释烛提示待处://泪T杆OD胸O:愚A肤dd捆e割xt厕ra结i由ni锯ti类al容iz屋at睡io这n犬he居re(在樱此下禾边添哲加你胀初始趁化的乞代码习)对于格本实的例,辨可添罪加如端下代席码:m_复r=0攻.0滚;m_贫gi毅rt怨h=m_增ar弊ea="亮0.痰00劝0"贞;Up裹da疼te馒Da姜ta解(F选AL谣SE);//将数盐据传桃给控私件并过显示57BO劝OL暴C管Ca泊se消1D侮lg益::黎On折In猪it核Di者al商og艰(){CD邀ia饥lo泳g:锹:O润nI葱ni够tD着ia守lo熔g()校;……率……章…//谁T健OD可O:贪A杜dd孕e锯xt矿ra哨i振ni锈ti幻玉al字iz外at津io底n耳he垄rem_炭r=0奥.0锋;m_派gi到rt哄h=m_芽ar钟ea="番0.蹲00跌0"棋;Up英da融te驴Da柏ta信(F淋AL悟SE);//将数温据传秒给控无件并钥显示re国tu府rn脂T剃RU退E;//艘r踪蝶et捐ur大n脂TR配UE腥un李le舅ss膨y摘ou品s犯et饲t踩he联f索oc够us挖t临o费a抢co多nt芒ro院l}58②“确根定”刑按钮手的消璃息处过理函各数类似岸上述制方法俊,在“Ob阻je柴ct议I必Ds疼”列表扮框中酸选择ID耳C_晴BU骑TT乎ON牲1;在“Me盒ss充ag调es译”列表贝框中串选择类消息BN风_C黎LI话CK瓜ED;单击府“Ad量d膜Fu非nc阳ti渠on横”(添传加函孔数)混按钮脊,此市时在私“Me骨mb卸er驳f止un岁ct槽io渴ns躲”列表检框中陷会出薯现一铺个新蚕的函纹数名On山Bu礼tt碧on深1,表贫示系尺统为碧该对沸话框殖生成筑了一枕个新苍成员档函数资(图21);单击投“Ed叨it计C置od款e”(编荒辑代输码)秋按钮容,弹诊出Ca肌se涌1D匀lg互.c而pp文件籍的编纪辑窗浓口,并显摸示On堪Bu侧tt欲on券1(声)函数超的代裙码清芳单,找到庄注释蠢提示脑处://贝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插re(在慢此下稼边添考加控职件消取息的洽处理擦代码灯)59对于莫本实阁例,乳可添支加如阵下代跪码:Up齿da情te占Da葬ta()律;//将编嘉辑框连的数列据传东递给冈成员属变量do抬ub售le受g索ir市th爪=2仅*3感.1闪41碧6*m_拳r;//计算扭圆周肌长do遗ub亦le感a堵re讲a=蠢3.洗14看16斤*m_宰r*m_惊r;//计算殊圆面纤积m_选gi斩rt荷h.稠Fo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025高考语文一轮复习讲义:选择性必修下册(二) 单篇梳理4 归去来兮辞并序
- 烟台2024年05版小学4年级上册英语第4单元期末试卷
- 费用报销流程-记账实操
- 上海市2024-2025学年高一上学期11月期中考试语文试题(无答案)
- 2024年汽、柴油深度加氢催化剂项目资金需求报告代可行性研究报告
- 高考化学复习讲义:化学反应与电能
- 文化自信心得体会800字
- 房屋转租第三方合同范本(30篇)
- 运动会安全应急预案
- 《技术的价值》教学设计(三篇)
- 2023超星尔雅舞蹈鉴赏章节测试考试答案
- 幼儿园中班数学活动《5以内的相邻数》
- 军事体育训练伤病预防课件
- 有限空间监护人制度
- 是妈妈是女儿三声部合唱谱
- 医疗环境表面清洁与消毒管理规范 课件
- 2023年高考语文全国乙卷小说《长出一地的好荞麦》讲评课件26张
- JCT2094-2011 干垒挡土墙用混凝土砌块
- 前端开发生涯人物访谈报告
- 跨部门工作联络单
- 农药采购及配送服务方案(技术标)
评论
0/150
提交评论