VisualC面向?qū)ο缶幊探坛痰谡翸FC原理與方法_第1頁
VisualC面向?qū)ο缶幊探坛痰谡翸FC原理與方法_第2頁
VisualC面向?qū)ο缶幊探坛痰谡翸FC原理與方法_第3頁
VisualC面向?qū)ο缶幊探坛痰谡翸FC原理與方法_第4頁
VisualC面向?qū)ο缶幊探坛痰谡翸FC原理與方法_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第7章版權(quán)所有復(fù)制必究一個(gè)優(yōu)秀的編程工具往往匹配一個(gè)功能強(qiáng)大的類庫,類庫封裝了大量Windows編程需要使用的函數(shù)和數(shù)據(jù)結(jié)構(gòu)。與VisualC++捆綁在一起的MFC(MicrosoftFoundationClass)微軟基礎(chǔ)類就是這樣一個(gè)由Microsoft公司設(shè)計(jì)的類庫。采用MFC方式編程提高了Windows應(yīng)用程序的開發(fā)效率,但由于MFC應(yīng)用程序結(jié)構(gòu)的復(fù)雜性和透明性,要想完全掌握MFC應(yīng)用程序的內(nèi)部機(jī)制需要付出很大的努力。認(rèn)識(shí)MFC只是一個(gè)過程、一個(gè)手段,最終目的是為了良好并熟練地運(yùn)用MFC。

本章主要學(xué)習(xí)內(nèi)容:Windows的編程機(jī)制MFC的基本原理和使用方法:MFC類MFC應(yīng)用程序框架MFC消息管理MFC宏 常用的MFC類7.1Windows編程基礎(chǔ)Windows是一個(gè)多進(jìn)程的圖形窗口操作系統(tǒng),Windows應(yīng)用程序與DOS應(yīng)用程序有很大的區(qū)別。DOS應(yīng)用程序采用順序執(zhí)行過程,而Windows是一個(gè)基于事件的消息(Message)驅(qū)動(dòng)系統(tǒng)。Windows應(yīng)用程序是按照“事件→消息→處理”非順序的機(jī)制運(yùn)行。當(dāng)有某個(gè)事件(如單擊鼠標(biāo)、鍵盤輸入和執(zhí)行菜單命令等)發(fā)生時(shí),Windows會(huì)根據(jù)具體的事件產(chǎn)生對應(yīng)的消息,并發(fā)送到指定應(yīng)用程序的消息隊(duì)列;應(yīng)用程序從消息隊(duì)列中取出消息,并根據(jù)不同的消息進(jìn)行不同的處理。WindowsAPI(ApplicationProgrammingInterface)是Windows操作系統(tǒng)與應(yīng)用程序之間的標(biāo)準(zhǔn)接口,它提供了上千個(gè)標(biāo)準(zhǔn)函數(shù)、宏和數(shù)據(jù)結(jié)構(gòu)的定義。在使用VisualC++、VisualBasic和Delphi編程時(shí)都可以調(diào)用WindowsAPI函數(shù),Windows應(yīng)用程序可通過調(diào)用標(biāo)準(zhǔn)WindowsAPI函數(shù)使用系統(tǒng)提供的功能。WindowsAPI函數(shù)定義在一些DLL動(dòng)態(tài)鏈接庫中,其中最主要的DLL是User32.dll、Gdi32.dll和Kernel32.dll三個(gè)庫文件。7.1.1關(guān)于API和SDK傳統(tǒng)SDK編程:程序員通過調(diào)用API函數(shù),自己動(dòng)手、按部就班地實(shí)現(xiàn)程序各部分的功能。SDK應(yīng)用程序的結(jié)構(gòu)比較清晰,但程序員必須編寫所有的功能代碼。利用VisualC++編寫一個(gè)類SDK應(yīng)用程序:首先利用Win32Application向?qū)Ы⒁粋€(gè)Windows應(yīng)用程序框架,然后根據(jù)需要可以向程序項(xiàng)目中添加一些頭文件、實(shí)現(xiàn)源文件和資源文件,并編寫具體的程序代碼。例

編寫一個(gè)名為Hello的類SDK應(yīng)用程序,當(dāng)單擊鼠標(biāo)時(shí)通過調(diào)用API函數(shù),以彈出一個(gè)提示信息對話框。

1.執(zhí)行“File|New”菜單命令,在New對話框的Project頁面中選擇Win32Application項(xiàng)目類型,輸入程序名Hello。在向?qū)У?步選擇“Atypital“Helloworld!”application”項(xiàng),單擊Finish按鈕。2.在窗口函數(shù)WndProc()的消息處理分支switch-case結(jié)構(gòu)中添加WM_LBUTTONDOWN鼠標(biāo)單擊消息及其處理代碼:caseWM_LBUTTONDOWN:

MessageBox(NULL,"Youpressedthe leftbuttonofmouse!","Message",NULL); break;

SDK應(yīng)用程序結(jié)構(gòu):一個(gè)由API函數(shù)構(gòu)造的Windows程序的功能由三個(gè)部分組成:入口函數(shù)、窗口函數(shù)和Windows系統(tǒng)。每一個(gè)程序都有一個(gè)主函數(shù),WinMain()函數(shù)就是Windows程序的入口主函數(shù)。該函數(shù)的主要任務(wù)是完成一些初始化工作并維護(hù)一個(gè)消息循環(huán)。當(dāng)消息循環(huán)結(jié)束后,就退出了WinMain()函數(shù),也就退出了應(yīng)用程序。此外,WinMain()函數(shù)還負(fù)責(zé)完成窗口的注冊、創(chuàng)建和顯示。Windows程序以窗口的形式存在,在不同窗口之間傳遞消息是Windows和應(yīng)用程序進(jìn)行交流的主要形式。程序具體功能由不同的窗口函數(shù)實(shí)現(xiàn)。

7.1.2句柄在Windows中,用句柄(Handle)標(biāo)識(shí)應(yīng)用程序中不同的對象和同類對象中不同的實(shí)例,如一個(gè)具體的窗口、按鈕、輸出設(shè)備、畫筆和文件等。通過句柄可以獲得相應(yīng)的對象信息。常用的句柄類型有:HWND、HINSTANCE、

HDC、HCURSOR、HICON、HMENU等。句柄常作為Windows消息和API函數(shù)的參數(shù),在采用API方法編寫Windows應(yīng)用程序時(shí)要經(jīng)常使用句柄。而采用MFC方法編寫Windows應(yīng)用程序時(shí),由于對應(yīng)的MFC類已對句柄進(jìn)行了封裝,大多數(shù)情況下不再需要訪問句柄。

獲取MFC類對象的句柄的兩種方法:

通過訪問類的public屬性成員變量,如類CWnd的成員變量m_hWnd就是一個(gè)窗口對象的句柄。先定義一個(gè)句柄,然后調(diào)用MFC類的成員函數(shù)Attach()將句柄與一個(gè)MFC類對象聯(lián)系在一起,此時(shí)的句柄就成為該MFC類對象的句柄。在退出對象作用域之前,調(diào)用成員函數(shù)Detach()將句柄和對象進(jìn)行分離。如下所示:

CWndmyWnd; HWNDhWnd; myWnd.Attach(hWnd); ...... myWnd.Detach();所謂消息就是用于描述某個(gè)事件發(fā)生的信息,而事件是對于Windows的某種操作。事件和消息密切相關(guān),事件是因,消息是果,事件產(chǎn)生消息,消息對應(yīng)事件。所謂消息的響應(yīng),其實(shí)質(zhì)就是事件的響應(yīng)。消息驅(qū)動(dòng)是Windows應(yīng)用程序的核心,所有的外部響應(yīng)(如鍵盤、鼠標(biāo)和計(jì)時(shí)器等)都被Windows先攔截,轉(zhuǎn)換成消息后再發(fā)送到應(yīng)用程序中的目標(biāo)對象,應(yīng)用程序根據(jù)消息的具體內(nèi)容進(jìn)行處理。消息不僅可由Windows發(fā)出,它也可由應(yīng)用程序本身或其它程序產(chǎn)生。Windows為每一個(gè)應(yīng)用程序都維護(hù)一個(gè)或多個(gè)消息隊(duì)列,發(fā)送到每個(gè)程序窗口的消息都排成一個(gè)隊(duì)列。

7.1.3事件和消息

消息隊(duì)列和在應(yīng)用程序中的輪詢處理

Windows消息分為三種類型:標(biāo)準(zhǔn)Windows消息:以WM_前綴(但不包括WM_COMMAND)開始的消息,包括鼠標(biāo)消息、鍵盤消息和窗口消息,如WM_MOVE、WM_PAINT等??丶ㄖ–ontrolNotification)消息:對控件操作引起的消息,是控件和子窗口向其父窗口發(fā)出的WM_COMMAND通知消息。例如,當(dāng)用戶修改了編輯控件中的文本后,編輯控件向其父窗口發(fā)送WM_COMMAND通知消息。命令(Command)消息:由菜單項(xiàng)、工具欄按鈕、快捷鍵等用戶界面對象發(fā)出的WM_COMMAND消息。命令消息與其它消息不同,它可被更廣泛的的對象如文檔、文檔模板、應(yīng)用程序?qū)ο蟆⒋翱诤鸵晥D等處理。

typedefstructtagMSG{ HWNDhWnd; //目標(biāo)窗口句柄UINTmessage; //消息標(biāo)識(shí)WPARAMwParam; //消息參數(shù)1(附加信息,16位)LPARAMlParam; //消息參數(shù)2(附加信息,32位)DWORDtime; //消息發(fā)送時(shí)間POINTpt; //消息發(fā)送時(shí)鼠標(biāo)的屏幕坐標(biāo)}MSG;消息用MSG結(jié)構(gòu)表示:

為程序Hello添加鍵盤消息處理功能,判斷當(dāng)前按下的鍵是不是A或a鍵,并給出相應(yīng)的提示。打開程序項(xiàng)目Hello,在文件Hello.cpp的窗口函數(shù)WndProc()的switch消息處理分支中添加鍵盤消息的處理代碼:

caseWM_KEYDOWN://處理鍵盤消息

if(wParam==0x41)//A或a鍵的虛鍵碼為0x41H MessageBox(NULL,"ThekeyyoupressedisA ora!","KEYDOWN",NULL); elseMessageBox(NULL,"Thekeyyoupressed isnotAora!","KEYDOWN",NULL); break;利用Wi沖nd徑ow沒s隨AP簡I開發(fā)束程序院的用收戶有店這樣昌的體套會(huì),齡即使碧開發(fā)掏一個(gè)辜簡單跳的Wi飽nd尼ow及s應(yīng)用聲程序掩也需阻要對Wi焦nd紹ow把s的編等程原螞理有遺很深?yuàn)士痰姆フJ(rèn)識(shí)扔,需富要手篩工編央寫冗逼長的棗代碼耕。由慰于程回序的辯出錯(cuò)售率是學(xué)隨著案代碼氏長度劫的增絲式加呈雜幾何專級數(shù)牢增長壺的,刻而且覽當(dāng)程灣序長詠度逐孫漸膨醋脹時(shí)割,調(diào)萄試程泥序會(huì)碗變得脾越來調(diào)越困籮難。堡因此蜜,傳撞統(tǒng)的Wi恢nd犁ow花s應(yīng)用婆程序衡設(shè)計(jì)蠢需要萍程序纏員有嶄極大嶼的耐抹心和炎豐富鞠的編跟程經(jīng)忙驗(yàn)。Vi蕩su刮al估C及++捆綁挑了微藝軟的障基礎(chǔ)藍(lán)類MF筍C,編程詢時(shí)我痛們就鞠可以屑利用擔(dān)類的猾可重駐用性艱和可搶擴(kuò)充奔性,盜大大降降低Wi隨nd冶ow布s應(yīng)用香程序猴設(shè)計(jì)擋的難條度和鑰工作吉量。7.請2MF卡C微軟爆基礎(chǔ)昆類7.于2.懶1MF原C概述類庫租是一鄙個(gè)可限以在效應(yīng)用蠶程序乘中使?fàn)斢玫氖蚕嗷ヒ宏P(guān)聯(lián)鼻的C+泊+類的睬集合暑。MF碧C作為枝一個(gè)Wi染nd駕ow館s編程擇類庫奏,它稻包含脅了2乘00很多個(gè)貞類,襖封裝魄了Wi能nd刑ow筐s的大纖部分彩編程艱對象縮慧以及接與它間們有睡關(guān)的腸操作全。雖然邀程序張?jiān)诠Ψ苌掀睬Р詈饺f別膽,但衡從本交質(zhì)上姿看,計(jì)都可典以分川為用沸戶界病面設(shè)架計(jì)、敵文件辭操作鳴、數(shù)面據(jù)庫粗訪問崗及多別媒體覆使用孩等幾獨(dú)部分叉,這側(cè)些都乓可以海通過淹一些曲類來娘實(shí)現(xiàn)催。MF蘆C提供捧了一舟個(gè)標(biāo)搬準(zhǔn)化刑的程湯序結(jié)笨構(gòu),益使開坊發(fā)人碌員不糞必從籠頭設(shè)傘計(jì)一悅個(gè)Wi捎nd碑ow餃s應(yīng)用筑程序懷。MF適C實(shí)際艘上是彼一個(gè)建龐大曲的文際件庫曲,它盾由幾鄉(xiāng)豐百個(gè)莖執(zhí)行籍文件疼和源糞代碼鑰文件柴(如H文件免)組棋成。使用讀標(biāo)準(zhǔn)到化的買程序錦代碼社結(jié)構(gòu)設(shè),有受利于馬程序桑員之至間的歸交流彩。Vi務(wù)su漸al響C束++為MF片C提供賽了大跟量的紛工具目支持脈,提鋤高了乏編程提效率封。如批利用MF宏C帳Ap方pW壓iz齒ar鋤d創(chuàng)建MF撞C應(yīng)用跑程序蘆框架單,利曲用Cl胳as早sW腹iz琴ar壯d方便柄地對Wi君nd歲ow惑s消息葉進(jìn)行組管理賠。MF別C應(yīng)用漠程序謙的效獸率較衡高,覽只比育傳統(tǒng)允的Wi歡nd蜜ow凡s翻C程序庭低5笛%左洪右。囑并且箭,在MF湯C應(yīng)用建程序像中還肆允許困混合介使用接傳統(tǒng)踏的Wi話nd戀ow怠s燈AP纏I函數(shù)診。其它笛優(yōu)勢肯:完縣全支榴持Wi糕nd胡ow臣s所有頌的函紹數(shù)、石控件盾、消葉息、廈菜單吃及對精話框斗;具型有良屋好的呈穩(wěn)定現(xiàn)性和述可移尸植性床,更沈符合優(yōu)微軟餃的風(fēng)切格等經(jīng)。采用MF蓄C編程彈的優(yōu)勿點(diǎn):7.叮2.統(tǒng)2MF監(jiān)C體系鞏結(jié)構(gòu)MF闖C主要寧組成君部分偷:類、緒宏和全局守函數(shù)。類是MF蜂C中最社主要赤的內(nèi)拆容。MF孩C類是疑以層演次結(jié)早構(gòu)方甩式組際織起謎來的素。MF蒜C中的國類分鞏成兩鏟部分圓,除文了一微些輔倆助類怒,大畝多數(shù)禽的MF蟲C類是別直接岸或間鄭接從挑根類CO梅bj超ec被t派生刮而來廳。幾乎霞每一醋個(gè)派微生層艘次都提與一扇具體螞的Wi柳nd然ow北s實(shí)例矩相對漁應(yīng),折如文侵檔類赴、窗加口類奏和視披圖類程等。MF國C宏主要指功能充:消鋤息映擁射、捉運(yùn)行日時(shí)對牲象類鑰型服旺務(wù)、踩診斷牌服務(wù)姨、異雕常處吩理。MF弦C約定神:全腹局函央數(shù)以從“Af江x”為前辦綴,抹全局禮變量愿以“af茅x”為前樂綴。首先僻要對Wi加nd礎(chǔ)ow撇s編程醫(yī)概念樣和AP光I函數(shù)箭有一屋定的汁了解更,如Wi隔nd犯ow庭s剝AP溉I有哪隨些功逮能和雷哪些廁常用骨的數(shù)者據(jù)結(jié)諷構(gòu)等御。學(xué)會(huì)污抽象架地把登握問鵲題,汽不求德甚解費(fèi),不垃要一塌開始咱學(xué)習(xí)Vi毒su違al來C衡++就試右圖了棟解整剃個(gè)MF剃C類庫兵。從跟理解恭和使登用兩謎個(gè)方驢面學(xué)妻習(xí)MF迎C,理解MF扮C應(yīng)用襲程序孝的框目架結(jié)贊構(gòu)。先大景體上樂了解MF域C的概酬念、用組成個(gè)和基異本約轟定,慶從簡霉單的搬類入刻手,笑結(jié)合宋程序村設(shè)計(jì)系,由悔淺入結(jié)深,躁循序詳漸進(jìn)姨、日蛇積月和累。編程銳時(shí)如混果MF尸C某個(gè)穗類能榆完成婆所需歉要的派功能棚,可魚以直掘接調(diào)丘用已勞有類導(dǎo)的方撐法(坦成員稻函數(shù)餅)。義否則環(huán),可五以利另用面雀向?qū)︺@象技扔術(shù)中舅的“蝴繼承時(shí)”方逢法對MF確C類的韻行為燥進(jìn)行威擴(kuò)充醉和修牽改,圈從MF仆C中已震有的哲類派魯生出銷自己夫需要培的類錦。學(xué)習(xí)MF搞C,另一次點(diǎn)就凱是不傲要過某分依棄賴于戲向?qū)ё╓i岡za碼rd)工具殊。向高導(dǎo)能惱做許沒多工娃作,以但同大時(shí)掩肯飾了辟太多防的細(xì)權(quán)節(jié)。7.跪2.喇3絕學(xué)王習(xí)MF鹽C的方汗法盡管爺每個(gè)茶應(yīng)用炮程序刪具體仗實(shí)現(xiàn)哥的功詞能不贊同,潑但同攜一類醒程序鵝的基旱本結(jié)花構(gòu)是堪相同單的。纏因此臘,通碼常采您用MF艱C雙Ap釋pW澇iz朋ar稱d創(chuàng)建臥一個(gè)MF隔C應(yīng)用瘦程序磨框架。MF駁C不僅庭僅是撓一個(gè)幅類庫拌,它才還提逼供了究一層望建立后在MF平C類對漁象封念裝上在的附陡加應(yīng)蔑用程聽序框因架。賺應(yīng)用柳程序桌框架忌是為畏了生驕成一岸般的氧應(yīng)用軟程序勵(lì)所必?cái)U(kuò)需的蠟各種陣軟組叢件的玩集成足,是祝類庫主的一盛種超農(nóng)集。類庫炕只是蝦一種悟可以鑼嵌入馬到任茅何程就序中夏的、岸提供錯(cuò)某些惠特定眠功能鼻的類廉的集重合。紡而應(yīng)飛用程拴序框陳架卻余定制五了應(yīng)奇用程捐序的酷結(jié)構(gòu)競和源凡代碼轎,其旁中的旨類對陜象既支相互申獨(dú)立次、又蓋相互己作用飯,形熱成一好個(gè)統(tǒng)殲一的姻整體高。7.溉3MF銹C應(yīng)用筆程序匪框架MF熊C應(yīng)用煎程序攤框架鏡提供敲了構(gòu)產(chǎn)建應(yīng)陶用程荷序所主需要驚的類巖,在蹲程序放運(yùn)行換時(shí)能呢夠生質(zhì)成運(yùn)教行時(shí)拆類的食對象只,如腰代表側(cè)應(yīng)用田程序么對象翁、文匠檔對返象、趟視圖豎對象巡壽和框緩架窗恒口對蠶象。廊應(yīng)用都程序唐對象th蝦eA舊pp是一雅個(gè)唯浙一的喘全局雀變量處,它脾的主嘉要功園能是卵通過姓調(diào)用Wi魔nM望ai建n()主函登數(shù)啟贊動(dòng)程竟序的唐運(yùn)行止。MF嘆C應(yīng)用店程序攀框架夏也有險(xiǎn)一個(gè)悔作為睜程序客入口呈點(diǎn)的Wi光nM朽ai縣n()主函究數(shù),捏但在碼源程鋪序中圈看不看見該回函數(shù)縮慧,它嘉在MF濾C中已盒定義挎好并惑同應(yīng)接用程講序相同鏈接碰。7.挺3.右1控應(yīng)挖用程糊序框爛架中川的對隱象MF夾C應(yīng)用羅程序非對象限之間嶄的關(guān)擺系在MF裝C應(yīng)用爛程序攤的CW蜂in判Ap扛p派生冰類對欣象th駁eA次pp是一是個(gè)全攜局變及量,旦代表愧了應(yīng)廁用程昏序運(yùn)居行的控主線羊程。覺它在午程序桌整個(gè)狀運(yùn)行持期間善都存筋在,年它的泄銷毀悲意味幻玉著運(yùn)燈行程山序的橫消亡蛙。MF逮C應(yīng)用冶程序害啟動(dòng)迅時(shí),乞首先爭創(chuàng)建袋應(yīng)用稱程序訴對象th導(dǎo)eA衰pp,這時(shí)方將自躍動(dòng)調(diào)慮用應(yīng)祥用程召序類輩的構(gòu)郊造函談數(shù)初疼始化奇對象th滿eA曾pp,然后童由應(yīng)冬用程姜序框壤架調(diào)荒用MF勁C提供匪的Af節(jié)xW寄in界Ma終in()主函姓數(shù)。Af顧xW澤in仿Ma雞in()主函施數(shù)首岸先通皺過調(diào)抖用全互局函通數(shù)Af染xG霸et朽Ap霜p()獲取爺應(yīng)用呼程序偵對象th傅eA呀pp的指泥針pA表pp,然后亦通過pA半pp調(diào)用櫻應(yīng)用熄程序蟲對象榆的有唱關(guān)成役員函伏數(shù),梢完成竭程序訂的初雨始化放和啟煩動(dòng)工矩作,敢最后白調(diào)用膛成員敘函數(shù)Ru哈n(跑),進(jìn)入恰消息均循環(huán)慕。程序貨運(yùn)行秋后將嗽收到WM咸_P茄AI鐘NT消息嬌,調(diào)波用On仗Pa娛in把t()函數(shù)布繪制珍客戶宋區(qū)窗謠口。丹如果Ru和n(吐)收到WM榨_Q轉(zhuǎn)UI德T消息艇,則鐘結(jié)束盲消息乓循環(huán)奏,然刊后調(diào)脹用函想數(shù)Ex侮it別In淚st礎(chǔ)an說ce(),結(jié)束靈程序丈運(yùn)行仆。7.疼3.蟲2MF增C應(yīng)用籃程序衛(wèi)的生捕存與百消亡MF薯C應(yīng)用寸程序牽運(yùn)行煮后各動(dòng)函數(shù)航的調(diào)腰用關(guān)揉系In卸it池In井st融an枯ce()函數(shù)欺是派適生類尖唯一謠需要德重載繡的函販數(shù),要它負(fù)全責(zé)應(yīng)淺用程荒序的階初始愁化,武如初泛始化抬數(shù)據(jù)鵝、創(chuàng)諸建文煩檔模妨板、走處理增命令啊行以細(xì)及顯累示應(yīng)蘆用程甩序主日窗口累。7.鎮(zhèn)3.饒3常用霞的MF劉C文件文件名稱說明afxwin.h聲明MFC核心類afxext.hMFC擴(kuò)展文件,聲明工具欄、狀態(tài)欄、拆分窗口等類afxdisp.h聲明OLE類afxdtctl.h聲明支持IE4公用控件的MFC類,如CImageList等afxcmn.h聲明Windows公共控件類Mfc42.libMFCxx.DLL的導(dǎo)入函數(shù)庫(Release版)Mfc42D.libMFCxx.DLL的導(dǎo)入函數(shù)庫(Debug版)MfcS42.libMFCSxx.DLL的導(dǎo)入函數(shù)庫(StaticRelease版)MfcS42D.libMFCSxxD.DLL的導(dǎo)入函數(shù)庫(StaticDebug版)Mfc42U.libMFCxxU.DLL的導(dǎo)入函數(shù)庫(UnicodeRelease版)Mfc42UD.libMFCxxUD.DLL的導(dǎo)入函數(shù)庫(UnicodeDebug版)MfcO42D.libMFCOxxD.DLL的導(dǎo)入函數(shù)庫(OLEDebug版)MfcD42D.libMFCDxxD.DLL的導(dǎo)入函數(shù)庫(DatabaseDebug版)Nafxcw.libMFC靜態(tài)鏈接庫(Release版)NafxcwD.libMFC靜態(tài)鏈接庫(Debug版)gdi32.libGDI32.DLL的導(dǎo)入函數(shù)庫user32.libUSER32.DLL的導(dǎo)入函數(shù)庫kernel32.libKERNEL32.DLL的導(dǎo)入函數(shù)庫msvcrt.libMSVCRT.DLL(C運(yùn)行函數(shù)庫)的導(dǎo)入函數(shù)庫msvcrtd.libMSVCRTD.DLL(Debug版C運(yùn)行函數(shù)庫)的導(dǎo)入函數(shù)庫libcmt.libC運(yùn)行函數(shù)靜態(tài)鏈接庫(多線程)libc.libC運(yùn)行函數(shù)靜態(tài)鏈接庫(單線程)MF中C消息寒管理謀是MF象C編程致的一貧個(gè)重繡要內(nèi)非容,喉也是般編寫MF搖C應(yīng)用菜程序彈的基蓬礎(chǔ)。MF赤C應(yīng)用部程序卻消息輩處理畜的方同式與SD軟K應(yīng)用今程序條有所片不同遞。MF席C應(yīng)用邪程序汽框架屢截取憶了Wi門nd衣ow瘋s向應(yīng)撥用程璃序發(fā)膜出的過消息加,再接確定側(cè)將消敗息發(fā)命送給量哪一秒個(gè)對隱象,妹可以藏根據(jù)纏需要捎利用殘函數(shù)熊重載揮對消掛息進(jìn)僚行處吧理,息但不蘭需要查處理符的消北息將匠由應(yīng)否用程咳序框多架自璃動(dòng)處膚理。消息匪管理跑包括詞消息獲的發(fā)送和處理。對劍于消匠息發(fā)錦送,MF插C提供南了類尿似于AP茅I函數(shù)斤功能失的消哲息發(fā)膚送函籍?dāng)?shù),賓而MF矩C消息爬處理陷的內(nèi)今部機(jī)析制則巨相對盲復(fù)雜鉆一些競。從竿編程引的角烤度出堡發(fā),感我們薪只需茫了解輩其大閥致的更原理藏。7.瘡4MF苗C消息捆管理MF傻C采用消息民映射革(Me統(tǒng)ss波ag靜e息Ma指p)機(jī)制奇取代C/根C+計(jì)+語言妄中的sw但it收ch漏-c囑as柏e結(jié)構(gòu)曬來處失理消回息。MF堵C消息倡映射影機(jī)制事包括廚一組消息蓋映射冰宏。一債條消傾息映剖射宏截把一伴個(gè)Wi功nd疏ow斯s消息很和其收消息悲處理秧函數(shù)親聯(lián)結(jié)捧起來釀。MF忘C應(yīng)用扔程序番框架噴提供蹦了消估息映探射功角能。在類頓的實(shí)嚼現(xiàn)源音文件氏中用BE側(cè)GI挺N_辯ME祖SS綱AG組E_昌MA母P(采)和EN帆D_座ME僚SS趨AG禮E_緊MA阻P(煤)宏來凝定義六消息蹤蝶映射憲。在類這定義維的結(jié)投尾用DE酷CL轟AR籃E_乘ME誓SS郵AG爺E_桃MA慰P(芬)宏來劇聲明龍使用厲消息不映射。7.坦4.并1MF押C消息勇映射凳機(jī)制BE桃GI謀N_傻ME度SS堅(jiān)AG繡E_基MA鴿P(th此ec店la國ss,ba仆se拔cl希as汪s)//鬼{{叉AF金X_氧MS茶G_摘MA年P(guān)(th讓ec展la衛(wèi)ss)ON坦_犯.咬.扶.涌.能.俱.//賄MF嫩C預(yù)定臺(tái)義的茅消息難映射訪宏ON瞧_M艙ES墓SA員GE閥(m苗es定sa領(lǐng)ge帽,me果mb衫er痕Fx絹n)//用戶鄉(xiāng)豐自定物義的示消息劍映射普宏.司.愉.像.束.降.//望}}AF家X_歲MS肺G_勇MA郊PEN賽D_古ME桿SS絨AG籠E_夜MA偽P(廈)MF拖C應(yīng)用蒸程序ME仰SS求AG疲E_蒜MA飯P消息拳映射浩形式猛:注意競:特殊據(jù)注解煉“//違{{AF薦X_些MS屢G_訂MA罰P”是Cl番as害sW岸iz篩ar蝴d類向府導(dǎo)用片于維朗護(hù)消陵息映籠射宏彩的標(biāo)虎記,稅用戶霜不要忠刪除逮注解區(qū)輕易艷修改帖注解副內(nèi)的簡代碼大。啟動(dòng)Cl加as仿sW慮iz徐ar悟d,添調(diào)加要老求的仙三個(gè)贏消息茂處理種函數(shù)庭,Cl早as涼sW靈iz筍ar蔬d將在息類的華實(shí)現(xiàn)示文件手中添漁加三截個(gè)消轎息映顛射宏克和消嚴(yán)息處館理函搬數(shù)。停消息垂映射犧宏如腥下:BE采GI史N_尺M(jìn)E妥SS水AG忍E_謎MA掀P(CM宿ai與nF磚ra攜me,CF燙ra議me萍Wn隆d)//局{{AF歌X_期MS尊G_框MA咳P(CM挑ai壩nF暴ra侮me)ON么_W畏M_異CR趁EA級TE槳()//由MF諒C尤Ap螺pW歡iz咽ar陳d程序瞎向?qū)犠詣?dòng)圣生成銅的消裳息映聚射ON促_W帆M_考CL犯OS滅E(瞧)//由Cl瞞as屬sW余iz抱ar賽d類向簽導(dǎo)添家加ON俊_W哲M_孕DE爛ST焰RO阻Y(就)ON系_C薯OM園MA宇ND邪(I臨D_閘ED壤IT夾_C奪OP品Y,On殼Ed參it倒Co傻py)//鍵}}駱AF兵X_成MS怒G_嚷MA諷PEN著D_曉ME倦SS合AG都E_聯(lián)MA責(zé)P(盟)例利用Cl逝as門sW賊iz傭ar樂d為框睬架類在添加斯消息WM餓_C付LO下SE、WM燃_D巡壽ES誤TR企OY及菜享單項(xiàng)肥“Ed夏it|Co好py”的消顫息處還理函幕數(shù),區(qū)分析Cl泳as習(xí)sW僑iz板ar蚊d完成軌了哪槳些工喜作。cl減as群sCM爪ai騰nF只ra么me:CF齊ra學(xué)me嚼Wn胃d{pu栗bl打ic菜:CM運(yùn)ai忠nF使ra快me()杏;pr交ot睛ec屬te貨d://火{{上AF關(guān)X_橡MS羊G(CM遞ai頸nF出ra導(dǎo)me)循//聲明賄消息姜處理悟函數(shù)爆原形af漸x_ms侄g捕i員nt蒜O世nC臂re芒at半e(L倉PC椅RE夢AT鍬ES切TR蔬UC浪Tlp得Cr序ea屯te握St遙ru知ct);//由程添序向貧導(dǎo)自丘動(dòng)生吧成af彈x_ms品gvo同idOn賺Cl后os遼e()掃;籠//由Cl似as宜sW贏iz要ar拍d類向鐮導(dǎo)添溪加af傍x_ms脅gvo榴idOn姓De被st答ro植y()過;af吩x_ms可gvo雀idOn灣Ed店it隙Co超py()箭;//阿}}湊AF嚼X_湊MS愧GDE慈CL膜AR濟(jì)E_刺ME澇SS要AG瓜E_杰MA繳P(桑)余/跌/聲明茅使用腔消息雀映射立宏};Cl撇as瞞sW傭iz初ar庸d在類副的定弊義中顯聲明芳了消恩息處掏理函態(tài)數(shù):發(fā)送晶消息怎到一醬個(gè)窗擱口可搏以采相用傳送鄉(xiāng)豐(Se吊nd燦)或寄送撲(Po港st韻)方式辣,這奮兩種悲方式堪之間爹的主載要區(qū)蘇別是塘消息蹦被接們收對籠象收木到后惠是否址立即包被處純理。Wi紫nd武ow倆s提供賴了三任個(gè)AP非I函數(shù)筋用于達(dá)消息誘的發(fā)言送。函數(shù)Se坊nd飛Me刷ss續(xù)ag屬e()用于粗向一溪個(gè)或挨多個(gè)膨窗口仿傳送蘿消息挑,該該函數(shù)公將調(diào)趴用目捎標(biāo)窗趕口的腔窗口勻函數(shù)蔽,直炮到目攝標(biāo)窗日口處世理完葡收到辯的消塔息,當(dāng)該函越數(shù)才宏返回有。函數(shù)Po代st泡Me經(jīng)ss境ag餓e()用于繞向一胳個(gè)或屠多個(gè)趕窗口鹽寄送約消息厘,它卷把消闖息放話在指榮定窗裝口創(chuàng)牽建的遙線程南的消狹息隊(duì)詳列中潛,然欣后不租等消任息處藥理完樣就返瓶回。7.奶4.奪2哨消庫息的由發(fā)送函數(shù)Se喝nd樣Dl謹(jǐn)gI因te顏mM煩es句sa另ge()函數(shù)掛用于筒向?qū)Ξ?dāng)話框援中指伴定的訂控件背發(fā)送椒消息胃,直倆到目閥標(biāo)控廁件處像理完博收到高的消淺息,蜻該函蓮數(shù)才拖返回饞。MF仰C將這兆三個(gè)灣函數(shù)頌封裝翠為CW渴nd窗口喜類的鐘成員杜函數(shù)漠,封污裝了撈目標(biāo)銷窗口耀句柄摔,它鹽們將妖向調(diào)絕用它生的窗??趯n象發(fā)陜送或其寄送貓消息此,如pM穗yV勻ie源w->Se啊nd攪Me慣ss鬧ag婚e()的調(diào)痰用形粱式表付示向pM內(nèi)yV詳ie臭w所指別對象畜發(fā)送鋸消息頂。與用巡壽戶輸鍬入相軍關(guān)的石消息北(如士鼠標(biāo)曉消息閘和鍵衡盤消牌息)皺通常轉(zhuǎn)是以芝寄送默(Po褲st)的方瞇式發(fā)坐送,駝以便盟這些蜘用戶減輸入月可以助由運(yùn)班行較智緩慢澇的系孝統(tǒng)進(jìn)墻行緩銅沖處刑理。些而其明它消雜息通頑常是敗以傳醋送(Se臟nd)的方異式發(fā)監(jiān)送由于碑程序催邏輯蹤蝶設(shè)計(jì)將結(jié)構(gòu)鵝的限吩制或唉不同圣窗口匯之間須數(shù)據(jù)建的同脈步,城程序砍員需北要手雷工自掌定義足一些啄消息情。例鄭如,記如果叮需要溫在特耀定時(shí)溝間間型隔內(nèi)堅(jiān)通知描所有揉數(shù)據(jù)埋輸出胳窗口件重新漂取得錘數(shù)據(jù)盞,就應(yīng)必須悼采用監(jiān)定時(shí)痕器事榆件來攝產(chǎn)生瓜特定叢的消則息。MF岸C允許向用戶淘自定儉義消什息,剪常量WM損_U豈SE相R(為0x0狀40紋0)與第承一個(gè)乒自定穗義消響息值久相對訓(xùn)應(yīng),匆用戶棚必須均為自媽己的唇消息梢定義發(fā)相對璃于WM憶_U瞇SE樂R的偏萬移值覽,。伙利用鬧#de潑fi搭ne語句尺定義辦自己巡壽的消府息,傳例如系:#de漠fi去ne事WM疊_U治SE匯R1盡WM竿_U廚SE攔R+尾0#d漸ef寬in嘗e鹿W捆M_認(rèn)US宰ER湖2比W曠M_基US甲ER輝+17.至4.甲3自定嶼義消不息處翅理必須催在函燒數(shù)返梨回類竿型前寄面加斑上af貍x_ms昨g標(biāo)識(shí)厘,如設(shè):af犬x_ms燒gLR滋ES賓UL困Tme字mb萄er斗Fx珍n(WP記AR犯AMwP蠅ar評am,罵L掃PA跳RA況MlP啦ar留am);其中班,參越數(shù)wP盈ar盈am、lP強(qiáng)ar葬am用于克傳遞海消息孩的兩雞個(gè)附疑加信閃息自定陳義消瘡息處或理函掌數(shù)的臨聲明饞:ON鈔_M吳ES有SA外GE結(jié)(m麻es衰sa鏟ge僑,me泛mb迫er堂Fx孫n)其中秤,me奸ss苦ag攤e是消鍵息名硬標(biāo)識(shí)富,me中mb奧er齒Fx速n是對聽?wèi)?yīng)的消息志處理庫函數(shù)邀。如愧:ON逢_M淘ES腫SA閱GE規(guī)(W液M_謠MY賄ME五SS聯(lián)AG塞E,On源My普Me脈ss桿ag已e)自定獎(jiǎng)義消咱息映時(shí)射宏蛙的定棄義:1.首先團(tuán)利用MF益C嚇Ap納pW責(zé)iz延ar庭d[碌ex模e]向?qū)ё?chuàng)建壇一個(gè)蛇名為Ro焰ta國te的應(yīng)漂用程單序。谷利用Cl則as懲sW嫁iz立ar腐d類向曲導(dǎo)為CR至ot培at嚇eV譜ie鄭w類生考成消腹息WM引_C頂RE們AT榜E的消鞭息處奸理函幕數(shù),貼通過篩設(shè)置鋼定時(shí)跪器在附指定棕的時(shí)獻(xiàn)間間廢隔向副窗口術(shù)發(fā)送WM茂_T劫IM血ER消息免。Se顛tT緊im池er(1稿,2靜00愧,N算UL衡L)墻;孫/耕/啟動(dòng)晴定時(shí)費(fèi)器2.在文繁件Ro捐ta來te憶Vi繡ew.cp射p開始耐位置首定義擋一個(gè)懶用戶孝自定陳義消火息:#de扣fi關(guān)ne屋WM瞎_M導(dǎo)YM罰ES療SA想GE忍WM輸_U洪SE沉R+池1利用Cl杯as瞎sW掩iz僚ar裙d為CR跌ot像at唇eV樸ie響w類生周成消佛息WM治_T琴IM具E的消擠息處制理函姻數(shù):Se渴nd差Me艦ss棗ag靜e(W秋M_恥MY廉ME浩SS晌AG王E)紗;例編寫前一個(gè)陷自定餅義消坦息應(yīng)媽用程鄭序,山程序拆啟動(dòng)羞后設(shè)供置一班個(gè)定赴時(shí)器閥,在WM儀_T遠(yuǎn)IM蹲ER的消貝息處姜理函享數(shù)中慈發(fā)送攏一個(gè)寨用戶踩自定扶義消診息,飾在對妨應(yīng)的黃自定沃義消煌息處您理函敗數(shù)中漿以動(dòng)茂畫的短形式金旋轉(zhuǎn)縣顯示余一行敏文本昨。3.拜在類CR努ot窮at鉗eV登ie斯w的定游義中姻聲明鞭自定跳義消告息處晉理函禽數(shù):af校x_ms荷gLR洞ES丙UL副TOn生My幼Me挎ss泳ag來e(W聰PA摩RA籠MwP毒ar稅am,LP鋒AR儉AMlP拒ar菜am);在文噴件Ro顯ta蚊te留Vi槍ew.cp劫p消息益映射BE狹GI僑N_授ME啄SS袋AG保E_逮MA消P和EN泥D_飽ME帳SS蛾AG煉E_蜓MA遮P之間宗添加廳自定歡義消租息映密射宏哲:ON靈_M葵ES沿SA項(xiàng)GE啟(W拒M_多MY扎ME問SS爺AG廣E,On耕My鮮My細(xì)es淡sa酬ge)4.在類CR造ot乎at惕eV居ie吊w的定普義中占聲明魯一個(gè)pr衰iv傳at諒e屬性濁、in掠t型的仗成員典變量m_dE倒sc指ap名em兄en束t,它表追示文格本顯納示角暗度,熱并在干類CR磚ot足at斗eV壓ie棵w的構(gòu)悟造函討數(shù)中衛(wèi)初始日化:m_dE獵sc頌ap參em寬en豆t=0吉;5.在文型件Ro廚ta怎te尖Vi吵ew.cp粉p中手土工添杠加自奏定義韻消息湖處理振函數(shù)坦實(shí)現(xiàn)否代碼店,完載成以面動(dòng)畫雹形式谷旋轉(zhuǎn)雜顯示炊一行右文本彼的功嶺能。6.利用Cl返as襪sW炎iz合ar遍d生成央消息WM注_D譜ES爭TR區(qū)OY的消棄息處謎理函派數(shù),稻在銷純毀已驚創(chuàng)建弄的定悠時(shí)器冷:Ki鐮ll答Ti壇me木r(1餓);宏就是腳用預(yù)償處理單指令躺#de抽fi否ne定義航一個(gè)弊標(biāo)識(shí)箏符,芳用它右來表逝示一驕個(gè)字獅符串互或一乎段源洗代碼嶼。MF諷C宏作為MF恒C類庫亂的一居個(gè)組綢成部鵲分在MF褲C應(yīng)用庭程序扭中經(jīng)照常出韻現(xiàn)。MF央C宏在Af孟xw色in.h會(huì)、Af恨x.h及Af超xm鬧sg_.翠h等MF尚C頭文判件中勉分別姑進(jìn)行飯了定求義。MF鐘C提供刷的宏隱有很工多,答常用懸的包利括消息咸映射廁宏、盡運(yùn)行夠時(shí)類納型識(shí)系別的撓宏、證調(diào)試飲宏和異常吊宏等,石下表稈列出據(jù)了一邊般MF預(yù)C編程星時(shí)要速用到世的宏鉆。7.掘5MF落C宏RUNTIME_CLASS獲得運(yùn)行時(shí)類的CRuntimeClass結(jié)構(gòu)的DECLARE_DYNAMIC提供基本的運(yùn)行時(shí)類型識(shí)別(聲明)IMPLEMENT_DYNAMIC提供基本的運(yùn)行時(shí)類型識(shí)別(實(shí)現(xiàn))DECLARE_DYNCREATE動(dòng)態(tài)創(chuàng)建(聲明)IMPLEMENT_DYNCREATE動(dòng)態(tài)創(chuàng)建(實(shí)現(xiàn))DECLARE_SERIAL對象序列化(聲明)IMPLEMENT_SERIAL對象序列化(實(shí)現(xiàn))DECLARE_MESSAGE_MAP聲明消息映射表BEGIN_MESSAGE_MAP開始建立消息映射表END_MESSAGE_MAP結(jié)束建立消息映射表ON_COMMAND命令消息映射宏ON_MESSAGE自定義消息映射宏ON_WM_…MFC預(yù)定義消息映射宏ON_BN_…,ON_CBN_…等控件通知(Notification)消息映射宏運(yùn)行測時(shí)類并型識(shí)揪別RT威TI(Ru掏n吩Ti鋸me彎T校yp倚e付In書fo生rm碌at怠io初n)是指四在程剝序運(yùn)江行時(shí)與允許時(shí)確定來對象請的類按型。MF許C擴(kuò)充掃了一紙般C+斯+中運(yùn)免行時(shí)慈類型藝識(shí)別簽的功武能,芽當(dāng)一遷個(gè)類渡支持MF長C的運(yùn)事行時(shí)吹類型括識(shí)別報(bào)時(shí),選它允朱許程挎序獲君取對帥象的強(qiáng)信息系(如慈類名乒、所窩占存鞏儲(chǔ)空沿間大際小及衡版本主號等慘)和顏基類睬信息陽。1.宏RU葵NT伍IM疏E_妻CL臟AS舍S(歲cl損as瞧s_笨na棟me剩):返回沃參數(shù)cl浪as將s_貪na昌me所指攏定類農(nóng)的靜制態(tài)成捐員變擠量cl鴉as項(xiàng)s#長#c仆la翼ss山_n偵am蜻e的指脅針,謊該指過針指公向一協(xié)個(gè)CR貫un毅ti伏me沸Cl譜as含s結(jié)構(gòu)死。7.焦5.蛋1有關(guān)澇運(yùn)行牽時(shí)類然型識(shí)海別的炒宏2.嘴動(dòng)診態(tài)支漆持宏DE錘CL媽AR綁E_暗DY菠NA懇MI訓(xùn)C(孤)和IM御PL敲EM葬EN碗T_畏DY撕NA局MI烏C(援):使用竟動(dòng)態(tài)區(qū)支持宋宏能隊(duì)夠使CO斧bj鍬ec督t派生穴類的懂對象欠具有悼基本循的類脫型識(shí)破別機(jī)逗能,濤可以課通過統(tǒng)調(diào)用專成員哈函數(shù)CO詢bj巖ec岸t::Is葵Ki影nd生Of()測試口對象乎與給嚇定類宴的關(guān)老系。3.年動(dòng)脂態(tài)創(chuàng)降建宏DE柜CL籠AR埋E_櫻DY昆NC企RE陷AT呈E(妥)和IM蒸PL城EM柴EN置T_遵DY壩NC雕RE鈔AT蝦E(啞):動(dòng)態(tài)呈創(chuàng)建略是動(dòng)摟態(tài)支快持的冷一個(gè)徑超集蠻,除梨了基畏本的喉類型刪識(shí)別節(jié)機(jī)能糖,使中用動(dòng)落態(tài)創(chuàng)記建宏網(wǎng)能夠?qū)捠笴O許bj拆ec憶t的派亂生類滿具有較在運(yùn)晚行時(shí)勢動(dòng)態(tài)有創(chuàng)建壺對象全的功鑄能。4.透序列?;闐E基CL爛AR擋E_單SE睬RI社AL蛇()和IM繭PL棒EM欠EN僅T_贈(zèng)SE攪RI千AL含()//端在高頭文狠件My絮Cl村as營s.h中cl倆as極sCM輕yC脾la秤ss:株pu奪bl搬icCO惰bj浮ec嶄t{DE雕CL危AR槳E_薄DY廉NA鄰MI霜C(CM沫yC伍la穴ss)pu指bl場ic棄:vo僑idSo布me巨Fu狂nc提t(yī)i至on(v票oi護(hù)d)線;};例定義促類My慨Cl辟as劍s,使用RU滲NT卸IM瓜E_娛CL稅AS許S(妥)宏的基撈本對鋤象診桶斷功鑒能。//突在剩實(shí)現(xiàn)衛(wèi)文件My員Cl升as禮s.cp環(huán)p中#in器cl徒ud次e翅"My庸Cl耐as組s.h境"IM牌PL備EM磚EN褲T_鍬DY儉NA蔑MI慌C(CM稍yC側(cè)la能ss,CO晨bj吧ec廳t)vo棚idCM脂yC只la捎ss::So惰me墊Fu殃nc垮ti腫on(v銳oi洋d){CO異bj榆ec惠t*pO魂bj裁ec詢t=n話ewCM事yC截la伍ss;if寧(pO品bj破ec預(yù)t->Is過Ki凳nd唱Of(R篩UN蝴TI雅ME陣_C訪LA外SS碰(CM脹yC轎la啊ss))掘){CM葡yC影l(fā)a任ss*pM衰yO忍bj挎ec封t=(CM供yC餡la兄ss*)pO頸bj銷ec練t;Af錄xM窯es突sa姻ge寺Bo環(huán)x("My穴Ob挨je是ctis蹤蝶a故n巾ob徹je歇ct各o醉fth燒e僻cl央as吉sCM攝yC核la子ss")店;}el春seAf潑xM棟es挺sa滾ge驚Bo螺x("My吼Ob涼je剪ctis厘n濤ot走a掀n潔ob圓je紐奉ct改o其fth是e茅cl妄as姓sCM醒yC嗽la謠ss")狐;de糊le吸tepO言bj翼ec歪t(yī);}7.燥5.進(jìn)2MF頁C調(diào)試須宏跟蹤淚聲明和斷言在查伴找程后序設(shè)爹計(jì)錯(cuò)釋誤時(shí)油是非艱常有倦用的藝。跟佛蹤聲燥明可凈以讓絮程序溫在運(yùn)呼行過漲程中信遇到柔跟蹤士聲明槳時(shí)在附輸出漲窗口抄顯示握指定到的信蘿息,哈而斷船言使賤程序調(diào)在斷情言條歡件不寬成立棗時(shí)暫穩(wěn)停程聯(lián)序的株運(yùn)行紡。MF饑C提供旨了一項(xiàng)些跟診蹤聲脫明和迅斷言少宏用候于程滅序調(diào)辛試,悶這些旋宏只檢能用攀于DE炭BU單G版本污應(yīng)用僚程序乖的調(diào)暈試狀臘態(tài)。1.TR擱AC利E(評)宏語減法說嘗明如房誠下:TR智AC監(jiān)E免(<表達(dá)辟式>端);其中狹參數(shù)禮<表中達(dá)式多>是偵由輸塊出格知式和左變量展等組釋成的旁輸出月表達(dá)磚式,掃其格栗式與弱函數(shù)pr愧in罪tf()的參告數(shù)一殼樣,怒它指襲定調(diào)福試時(shí)貨要在Ou沙tp碰ut窗口倒輸出呀的內(nèi)意容。ch回ar毫*sz銹Na故me=恒“Li顧Mi擠ng”;in癢t劉n域Ag塞e=機(jī)18筋;TR樹AC少E(啦“N剩am踢e遼=來%s耍,輸Ag介e稍=基%d辜\岔n”墊,sz抗Na辱me,nA綠ge);例1對于備以下鋼代碼團(tuán):調(diào)試蠅時(shí)在Ou族tp局ut窗口惠輸出值以下漿內(nèi)容睛:Na矮me凱=Li謠Mi堵ng,拆Ag膊e答=務(wù)18例2設(shè)自舞定義龜一個(gè)CF鏟ra延me叮Wn野d的派姨生類CM枝yF甘ra帥me,在震程序昨中構(gòu)率建一柜個(gè)與CM汗yF培ra臭me相關(guān)瓶聯(lián)的號文檔蘋模板陰對象流,并接為構(gòu)陷鍵的爐文檔丙模板恰創(chuàng)建喬框架澇窗口泰:CM私y(tǒng)F貸ra辱me*pF蔽ra果me=(CM惕yF智ra霉me*)Af妄xG鈴et祝Ma視in摟Wn恒d()摩;AS耳SE告RT霜(pF坊ra海me->Is先Ki劉nd拆Of(R悟UN己TI索ME伙_C壞LA綢SS(CM皮yF僅ra客me))伯);//判斷pF格ra止me的類題型pF腹ra俱me->Do分So晉me壤Op睬er涌at爬io俱n()權(quán);7.味6.慰1CR駁un撲ti梢me品Cl何as暑s結(jié)構(gòu)CR嘆un權(quán)ti欺me千Cl毫as揚(yáng)s在MF摸C中是鴿以結(jié)受構(gòu)的若方式餐定義親,它港含有及使用CR摔un斯ti作me辯Cl鋒as綢s結(jié)構(gòu)職的類嫁的有開關(guān)信全息,雞與CO查bj鏈ec誦t類一罵同實(shí)責(zé)現(xiàn)運(yùn)推行時(shí)秋類型貿(mào)識(shí)別RT腎TI的功構(gòu)能。CR兆u(yù)n副ti蝦me宮Cl捏as夾s結(jié)構(gòu)漏包含長了類淚名、勻?qū)ο笤K季鎯?chǔ)忠空間酷大小遍及類倡的版邀本號王等成奶員變稅量和妥動(dòng)態(tài)祝對象沙創(chuàng)建獎(jiǎng)、派抗生關(guān)漲系判刷斷等水成員井函數(shù)各。每個(gè)楊從CO疏bj嚇ec驗(yàn)t類派遺生的雞類都盾有一役個(gè)CR扛un填ti沃me宮Cl奸as音s對象胃同它爸關(guān)聯(lián)粒。要朽使用CR狗un烘ti較me土Cl胡as戲s結(jié)構(gòu)繪,必堆須結(jié)塵合使男用RU材NT超IM俊E_非CL充AS開S(眾)宏和背其它榴有關(guān)夠運(yùn)行直時(shí)類托型識(shí)氣別的MF龜C宏。7.代6常用目的MF載C類7.答6.眉2CO蕉bj遠(yuǎn)ec將t類由于MF括C中大先部分虧類是謊從CO惡bj跨ec蘭t類繼吐承而凳來的終,CO秒bj域ec敞t類描踩述了型幾乎扔所有兩的MF鵝C類的扶一些健公共量特性貧,CO民bj瞧ec瓣t類為相程序沾員提精供了絕對象栗診斷臺(tái)、運(yùn)眾行時(shí)津類型年識(shí)別蠅和序禽列化松等功唐能。對象之診斷犬。MF泛C提供寨了兩盟種診狐斷特脖性:甜利用碗成員軍函數(shù)As營se殼rt美Va梢li東d()進(jìn)行同對象渡有效禾性檢茫查,功使得享類可拋以在粘繼續(xù)旋運(yùn)行鵝前對欠自己征進(jìn)行校正確旁性檢沃查;擾利用襯成員產(chǎn)函數(shù)Du蒙mp霞()輸出選對象證的數(shù)車據(jù)成濱員的蘭值。運(yùn)行參時(shí)訪舊問類歐的信孩息:戀提供Ge娛tR累un芬ti軌me城Cl澇as驚s()和Is派ki排nd惠Of()兩個(gè)鄙成員勿函數(shù)清來支時(shí)持運(yùn)尼行時(shí)關(guān)類型硬識(shí)別拒。對象斑序列睛化。vo添idCH增um辣an::As質(zhì)se墊rt憲Va茫li頂d()秤co牙ns輕t{CO桿bj痛ec大t::As淘se陪rt路Va體li并d()扎;AS異SE吧RT鋪(m攏_y候ea吧r>患0)五;AS捷SE巾RT巨(m近_y俱ea偽r<蹈12固0)價(jià);}例1通過屋“In養(yǎng)se倦rt科|N雨ew攝C瓜la豬ss暖”定義溪一個(gè)CO源bj梁ec法t的派嗓生類CH撇um歐an。在類CH匠um票an中重蔬載As懸se昆rt漁Va藝li駁d()函數(shù)桶,利累用AS掀SE區(qū)RT宏把擴(kuò)人的影年齡跨限制哄在一些個(gè)合交理的己范圍盾。vo曉idCA婆ss躬er罰tV屬ie凈w::On庭Dr賤aw(C共DC秀*pD桶C){CH蒙um株anma慌n;ma傳n.協(xié)m_扁ye隔ar久=2挎00爪;ma派n.As璃se餡rt仁Va犬li棕d();哭/串/超出嚇年齡帝范圍陪,將今斷言晌失敗}vo物idCH椅um我an::坊Du暮mp漿(CD存um鳳pC川on箭te揉xt&d勒c潤)符c貫on牙st{CO碗bj匙ec氣t::量Du橋mp面(dc);dc<<此"A崇ge覽=漁"轎<<岸m_包ye譜ar積<<朗"\扛n"榨;}例2在派吊生類CH辦um戴an中重港載成愉員函摘數(shù)Du京mp擁()哭,輸出藍(lán)數(shù)據(jù)暫成員m_箭ye暫ar的值株。調(diào)用Du糖mp擴(kuò)()函數(shù)晚:CH秒um晶an*pM胖yP摟er誰so細(xì)n=n閘ewCH杯um關(guān)an;pM極yP寸er臭so后n->攔m_導(dǎo)ye腥ar懲=3巾9;#if墊de帶f_D甘EB文UG傳/稼/調(diào)試脹時(shí)在撥調(diào)試倆器輸桃出窗即口顯警示m_枕ye獅ar的值pM戶yP牛er昌so完n->診Du漏mp娘(af

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論