VisualC++面向?qū)ο笈c可視化程序設(shè)計(jì)課后習(xí)題部分答案(第三版)_第1頁(yè)
VisualC++面向?qū)ο笈c可視化程序設(shè)計(jì)課后習(xí)題部分答案(第三版)_第2頁(yè)
VisualC++面向?qū)ο笈c可視化程序設(shè)計(jì)課后習(xí)題部分答案(第三版)_第3頁(yè)
VisualC++面向?qū)ο笈c可視化程序設(shè)計(jì)課后習(xí)題部分答案(第三版)_第4頁(yè)
VisualC++面向?qū)ο笈c可視化程序設(shè)計(jì)課后習(xí)題部分答案(第三版)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 第三章Windows應(yīng)用程序B+Windows編程中窗口的含義足什么?解答:窗是Windows;用揑序中的基車(chē)採(cǎi)作單元,是應(yīng)用程序和用戶(hù)之間交直的接口壞境,也是系統(tǒng)管理應(yīng)用趕序的卅本單位編寫(xiě)一令Windows用程序首先應(yīng)創(chuàng)建一個(gè)或第孑窗I心隧后應(yīng)用程洋的運(yùn)行過(guò)程即是窗UI內(nèi)怫s窗口與窗口之閘、窗口與系統(tǒng)之間進(jìn)行數(shù)抵處理利數(shù)抿交換的過(guò)程。BW1爭(zhēng)件嗨動(dòng)的特點(diǎn)是什么?懈答:Window操件是建立在韋杵驅(qū)動(dòng)執(zhí)行程序芯礎(chǔ)上.與利用白頂向下沒(méi)計(jì)和執(zhí)療【時(shí)轉(zhuǎn)統(tǒng)過(guò)程式編程疔武完全不同。在便用術(shù)向過(guò)程的編程.方式時(shí),程JTJ笈苦是處j:完金支配狀態(tài)口程序執(zhí)行的流程遵從程睜員預(yù)先規(guī)定的路輕而而向?qū)ο蟮腤ind

2、ows程序的執(zhí)行順序則取決于事件利消息的岌土頃序.所謂消息是描述事件發(fā)生的怙息。當(dāng)我們單山一個(gè)按鈕時(shí)系統(tǒng)就產(chǎn)生一條特定的消鼠衷水此按鈕乎件的笈生.程序購(gòu)執(zhí)行順序足山順序產(chǎn)住的消息羽動(dòng)的,所以匪向時(shí)躱的WindowsIf的設(shè)計(jì)巫點(diǎn)足編罵事件和洎息的處理程胖程庫(kù)口町以根據(jù)泊急類(lèi)電貓寫(xiě)甩序以處理挨堂的涓息,或潸發(fā)出H也消懇以馳動(dòng)其他程序,但是不必越先確定消息產(chǎn)生的次序.事件馳動(dòng)的這些持點(diǎn)對(duì)r編寫(xiě)交互式時(shí)程序狠有用處。B國(guó)Wkidawi應(yīng)用程序中購(gòu)消息椅遞足如何進(jìn)行的?請(qǐng)舉例說(shuō)明.解答;Windo郴対.應(yīng)用程庁提供稱(chēng)為消息肌列的保圉區(qū)。ItWindowstX及由共他阪用程序向用戶(hù)的痕用程序發(fā)毘的全部涓

3、息都存傣在此歐列甲等特謂用.SDK程序以特定的循環(huán)調(diào)陽(yáng)Windows消息,稱(chēng)対消息循環(huán),如下代碼表示北循環(huán)一直運(yùn)序接受終止執(zhí)行消息肘才停止匚while(GetMeESage(&msg30t0.0)1imnslutt:Nlcahae(-uiagDispatuhMBSiSae(&m5.g):在while循壞內(nèi)部川踽環(huán)的毎枚迭代洞用WindowAPI昭數(shù)GctMcssagc(0,00)以得到消息隊(duì)列中的、一個(gè)消,氐并把它存左將定的MSG蠟構(gòu)休變就爼卷中TtanjilaleMessage(實(shí)規(guī)鍵盤(pán)上某牛鍵的釉譯-DispatcliMessaged民巾糊圈數(shù)向窗I的涓息處理惓數(shù)發(fā)送消息、倜用相應(yīng)的消息處

4、理宙數(shù).宣成后進(jìn)入下一個(gè)循壞.例如,如果和用戶(hù)單卄鼠標(biāo)的左鍵.親統(tǒng)將駆送一條WMLHUTTONDnWN消息到該程序的幫息隊(duì)列,在消息循環(huán)中由GetMessage(裁如J)函數(shù)得刮此消息并把它存儲(chǔ)在MEC姑構(gòu)協(xié)變忻m卷中:然后調(diào)用TranshiieMesge(Aimsig)數(shù)如果不是筆盤(pán)捎息.則此鑿數(shù)不做任河竝理,接著調(diào)用3幼嘰少NR艶洋(&巾卷)附數(shù)將此消息發(fā)送至消忌處理函數(shù)MuiProCn在消息處理曲數(shù)中執(zhí)行相同的消息社理程序;然后逬入銀F個(gè)循環(huán)。匕也旬稱(chēng)的作用是什么?請(qǐng)舉例說(shuō)明解答:句柄是應(yīng)用程序中用來(lái)標(biāo)識(shí)対象的一個(gè)轄樂(lè)數(shù)憤,通過(guò)旬購(gòu)能夠訪問(wèn)該旬柄所標(biāo)識(shí)的時(shí)象,逬行一宦的操和.例如町以利用

5、前數(shù)CrealeFom創(chuàng)建字體,返同伯足字體句柄hFonl,那么此句柄就是這種字體的代表以后要使用此字體時(shí)調(diào)用f體句旃hFont即可a句柄的柞用足什么0請(qǐng)舉例說(shuō)明.瞬答:旬柄是應(yīng)用程序中用來(lái)標(biāo)識(shí)對(duì)象回一個(gè)整型數(shù)佢通過(guò)旬柄能夠訪問(wèn)該訶柄所標(biāo)識(shí)的對(duì)翦“進(jìn)行-一定的操作匚例如,nJ以利用函數(shù)CreateFunt創(chuàng)建字棒,返回值是字壞句柄hFoni,那么此句摘就是這種字體的代表.以后要便用此字體時(shí)調(diào)用字休句柄hFoat即可aS5)一個(gè)Windows序的雖慕本構(gòu)成應(yīng)有哪些部分?M-;Windows應(yīng)/H程序M右相対網(wǎng)定的怎本結(jié)構(gòu)IUlWinMaih團(tuán)數(shù).和WndPtoc函數(shù)構(gòu)成;基本柜架aWinMain

6、雷數(shù)是所有Window船數(shù)的入口.類(lèi)似C語(yǔ)育的main朗數(shù).其功能是完眥一系列的定義和初始化工件:,并產(chǎn)生誚息循環(huán).粘息循壞是桜卞程序運(yùn)行的檢心亠WinMain函數(shù)主耍由以下幾個(gè)部分組成:定義井注冊(cè)窗口類(lèi);建立窗口;產(chǎn)生消息循環(huán)*窗口朗數(shù)WiuIPtoc定.義了應(yīng)用程序?qū)訑〉降牟煌⒌捻憫?yīng),:拭中包含了應(yīng)用程序?qū)Ω鞣N可能接收到的消息的處理過(guò)程,是消息處理分丈控制語(yǔ)句的集合匚通常,窗門(mén)函數(shù)曲一個(gè)或多亍switch.jcase語(yǔ)句構(gòu)成,每一個(gè)case語(yǔ)句時(shí)應(yīng)一種消懇的代碼處理模塊,當(dāng)應(yīng)用程序接收到一個(gè)消息時(shí).柑應(yīng)的蔽語(yǔ)旬被激潔并:執(zhí)行相應(yīng)的模塊”&*應(yīng)用WindowsAPT函數(shù)編程時(shí)有汁么特點(diǎn)

7、?解答:應(yīng)用WindowsAPIfi數(shù)編程時(shí).要依據(jù)如題起T1所示的棊本編程步驟.而口要詳細(xì)考厲対可能接收到的消息的具體處理oWindows査Pl編程是nJ視化編程的皿礎(chǔ),不煖艮接利用hlFE編程利用MFC!編程時(shí),部分樞架的代碼足11系統(tǒng)肖接生成的,而利用WindowsAPI圉數(shù)進(jìn)行編程,所冇的代碼需翌用戶(hù)自已完成,雖然編寫(xiě)程序比較繁企昇能航繪根本、協(xié)底層上了孵町視憂編捏勺整牛體系。因此,婪完仝拿捱町視化編捏并韋握系統(tǒng)的開(kāi)發(fā),學(xué)習(xí)WindowfiAPI編程長(zhǎng)必不町少的壞節(jié)第四章Windows的圖形設(shè)備接口及Windows繪圖H田汁么是圏形設(shè)備接口?解答:WindowK用程序便用圖形設(shè)備膠口劉

8、Windows設(shè)備驅(qū)動(dòng)程序來(lái)支持與設(shè)蚤無(wú)關(guān)的圏丿氐圖形設(shè)備接1.1(GDI)Window.系統(tǒng)的迓耍組咸部分,負(fù)責(zé)系統(tǒng)與用戶(hù)脫繪團(tuán)程序之間的信息交換,并控制在愉出設(shè)備上顯示圖形或文字.GDI的設(shè)備無(wú)吳性是Windows操作葢統(tǒng)的特色之一。対于開(kāi)發(fā)人.員而言,所做的工柞僅僅是在系統(tǒng)的禍助卜建牛與某亍蜜際愉出設(shè)-備的關(guān)聯(lián),以要求系統(tǒng)加載相應(yīng)的設(shè)備塑動(dòng)程序,然后調(diào)用固定的GDI歯數(shù)進(jìn)行輸出即町,苴他的操柞山累航充成*齡2】如何透行圖形的刷新?解答:圈形刷新包括刷新的請(qǐng)求、系統(tǒng)對(duì)刷新請(qǐng)求的響應(yīng)以及具傳的刷新方法。(1)刷新請(qǐng)求汽發(fā)生窗口.大小的調(diào)整、窗口的移動(dòng)或窗口娥克他対象覆希等悄況后,都必須刷新窗

9、口用戶(hù)區(qū)的內(nèi)容,以恢復(fù)用戶(hù)區(qū)內(nèi)應(yīng)僭的噩示晤態(tài)0但是Windoivs系統(tǒng)并下越是記錄窗丨中需保存的內(nèi)容係統(tǒng)只能在冇限的兒種情況卜一門(mén)動(dòng)刷斯口因此,應(yīng)用提序必狽具科及時(shí)處理刷新請(qǐng)求利峽新罔形的功能。Windows系統(tǒng)通常疫送WMPAINT消息將刷新請(qǐng)求傳遜給應(yīng)用程序。系統(tǒng)對(duì)刷新請(qǐng)求怖響應(yīng)刷軌冇三種町能:分別是窗I1移動(dòng)后的刷新、披翟蓋區(qū)城的刷新以及対像穿越肓的刷斯,系統(tǒng)對(duì)上述三種刷新提快的相應(yīng)的方法窗I移動(dòng)后的刷新:系統(tǒng)發(fā)送WMPAINT消息,宙消息處理謝數(shù)完成刷新:被禮蓋區(qū)域的刷新:Windows系統(tǒng)試圖保存被窿蓋區(qū)域的副本.以箔以匚刷新,如來(lái)不能有效刷新,則口應(yīng)用程序發(fā)送WMPAINT消息;對(duì)

10、象穿趣后勺刷新;此時(shí)系統(tǒng)向動(dòng)死成刷新任務(wù)価用程序不用省慮因勺如阿獲取繪閻工貝的旬柄?解答:曲見(jiàn)的繪圖工具上更疔畫(huà)筆郝畫(huà)刷獲取繪圖工具的句柄就是獲取畫(huà)筆和畫(huà)刷的句柄皙兩種方法能獲得畫(huà)筆旬柄U)調(diào)用晦數(shù)GelSLoekObiec:!獲嚮累統(tǒng)定文的四種畫(huà)WHITEPEN,BLACKPEN.DCPEN利NULL-PEN;(2)調(diào)用函數(shù)CreatePen山用戶(hù)創(chuàng)建畫(huà)筆口GelStackObject和CreaLePen這兩個(gè)函數(shù)的返回值都是畫(huà)筆右J柄=有三種方法獲得畫(huà)刷句柄:調(diào)用霸數(shù)GeiSLockObject獲得系統(tǒng)定義的七種畫(huà)刷;調(diào)用CteMeSolidBrnsk定義具有指定顏色的單色畫(huà)刷;謂用函數(shù)C

11、reateHatchBrush定義具有指定陰影圖案和顏色的畫(huà)刷口上述這三個(gè)函數(shù)的返回值是畫(huà)刷句柄(2)調(diào)用函數(shù)CreatePen山用戶(hù)創(chuàng)建畫(huà)筆-GelStackObject和CreaLePen這兩個(gè)函數(shù)的返回值都是畫(huà)筆右J柄=有三種方法獲得畫(huà)刷句柄:調(diào)用函數(shù)GeLSlockObject獲得系統(tǒng)定義的七種畫(huà)刷;調(diào)用CreateSolidBrush定義具有指定顏色的單色畫(huà)刷;調(diào)用函數(shù)CreateHatchBrush定義具有指定陰影圖案和顏色的畫(huà)刷口上述這三個(gè)函數(shù)的返回值是畫(huà)刷句柄如何定賃映像模式?輝答:映像模兀是設(shè)-備描述農(nóng)的內(nèi)容2,其憂點(diǎn)毘程序員町以不必考虜輸古設(shè)備的坐標(biāo)系苗況麗在一個(gè)統(tǒng)一的設(shè)峯

12、坐櫬黍中完成圖形的繪制與操fkWindowsnS神映爐摸式其中MM-TEXT映像模式得到了普遍的用用,是默認(rèn)的眺像模式,甚特血是邏揖坐標(biāo)旳物理坐標(biāo)都以像索為單位。MMlEOTROPEC和MMANISOTROPIC兩種脫像檯貢通過(guò)和圖形從程序刊定文的邏輯設(shè)各彌口收像到物理設(shè)備的視口火實(shí)現(xiàn)坐標(biāo)轉(zhuǎn)換窗I是對(duì)賊邏輯坐標(biāo)系上起序員設(shè)定的一個(gè)區(qū)域視I是對(duì)應(yīng)于實(shí)際輸岀說(shuō)備上程序員說(shuō)定i溝一個(gè)區(qū)城-定支了窗nsnn后win亦訓(xùn)牡黍統(tǒng)即可按照霄利親1的坐標(biāo)比例訂動(dòng)訓(xùn)整圈形。注a:MMISOTROPIC映像橈式雯求區(qū)卿方向的映像比例柑同,這種要求可施導(dǎo)致系統(tǒng)強(qiáng)制變換視r(shí)k應(yīng)用程序可以關(guān)用函數(shù)Cih佃pMc血得到當(dāng)

13、前系統(tǒng)的映腺模或,調(diào)用函數(shù)如IM逬廠Mo氐設(shè)宜系統(tǒng)癥文加斤種映像惶或然后町以調(diào)用前數(shù)SttWindowExiEx設(shè)瞥窗口區(qū)域大小,調(diào)用函數(shù)SeLViewporLExLbx設(shè)邊視1-1的大小。視I和窗口的賦認(rèn)原點(diǎn)均為(0,0)還iij哄調(diào)JT固數(shù)SetWjndowOrgEx車(chē)I函數(shù)SetViewpurtOrgEx來(lái)設(shè)定鹿I和視II的猱點(diǎn)注栽雖后這兩個(gè)國(guó)數(shù)只育在MM.SOTROPICftJMMANISOTROPIC兩種模式下才忖用。癥又了映像欖式后菠們就可以在稼H匕繪制相用闌陽(yáng)形丁.第五章文本的輸出方法與字體的設(shè)置15千】如何獲取字狐句柄?解答:對(duì)以適過(guò)兩種方法探鋁字休句柄;選用系統(tǒng)提供的7種族抿

14、字體首先定義字體旬柄變屋bFHFOMIhH:熱后調(diào)用噺數(shù)hF=GeiSiockObjecK.)獲得索統(tǒng)字體句柄;調(diào)用萌數(shù)泅閒WbjQ(bdc,hF)將孑體旬柄選入設(shè)備壞境創(chuàng)鋰口定.叉字體系統(tǒng)提供的字體往往不能渦杲咸用程序肘要求.實(shí)際上中.文的亍儲(chǔ)是很豐宦的,口前40多種字體,程序燼町以調(diào)用函數(shù)6閃1并呦l創(chuàng)建和定義字體.并把返回苗賦蠟一句柄變凰.然后調(diào)用函數(shù)SelectObject建的字體旬柄選入垃備壞境:匡Q如何創(chuàng)建打定處字休?祥答:通過(guò)調(diào)用函數(shù)CreateFont獲得口定興字怖的旬齣該函.數(shù)的調(diào)用賤丈如卜:hP=CiciLtcFuntininHcight.iniiiWidLhinlnF!M

15、ipenit-iiLhininOiitTialtsMi,DWORDnWeisln:DWDftTlDwlMtir,DWCKDJwUndeiline,DWORDdv-StrEkeDiitDWORDdwCharset,DWORDdwOurputPretisicm,DWORDciwClippTecisitnijDWORDihyQuiiii尊”/字佯硏度,取0則采用系統(tǒng)默認(rèn)值便用越輯單位宇怵寬度.取0則由乗統(tǒng)相樨高噩比咫最越值傾出邏魁單位打毎訐文寧相對(duì)于頁(yè)底的箱應(yīng),旦丨吩之曲為單位門(mén)您個(gè)丈字柑對(duì)于頁(yè)血旳餡度JJI份之應(yīng)曲單位字體粗酣龐,取值范憎為!的如卑聲求字休伽.無(wú).創(chuàng)誣北零爭(zhēng)/如.果要求下劃比期嚥零

16、如異竪乂刪除錢(qián),則耿卜零字休斫屆字捋集輸出精度+馭取默認(rèn)值OUTDEFAULTPRECIE剪粽精度,一般取默認(rèn)怔CLIPDEFAULTPRECIS/輸出質(zhì)気,一般取默認(rèn)值DEFAULTQUALLTYDWORDdwItchAndFamily,M字休的住甌及寧休的系列一般取默認(rèn)袒DEFAULTPITCHDWORDIpszFiLceiumefF字休常)其中hF是字體句柄。囪m如何設(shè)宜字怵的顏色劑背雖色?解答:在字棒旬精彼創(chuàng)建后,還可以設(shè)置字體的顏&和背彊顏酋,以獲得粘關(guān)的輸出效采。應(yīng)用程序通過(guò)調(diào)用歯數(shù)SetTexiColor(bdc,croior)設(shè)迎寧體顏芭,hck是設(shè)備壞境旬5crColor為設(shè)

17、置的顏色亠通過(guò)調(diào)用函數(shù)SetBkCclor(hdc,crColur)來(lái)設(shè)胃背呆頷色.丈本是如何諭出的?髀答;丈木的輸出過(guò)程包括我取字體信息、格式化文木調(diào)用函數(shù)輸出文木等具悻過(guò)程nCD荻取字體倍怠何冏程序在輸出丈本之前必顒菠眼當(dāng)前便用于佈們育.艾信如當(dāng)苗使川子體的尸符高度辱,以確定文木格式和卜一彳J宇符的輸出位置.程序調(diào)用函數(shù)GetTlMecrics(hdu,&lm)來(lái)慕取字體信息,甘中Im是血含字休佶息的TEXTMETRICS結(jié)構(gòu)悴變気格式化文本格武化文本分兩種悟況,第一種情況是確定垢絨文本坐標(biāo),此時(shí)只耍調(diào)用函數(shù)Get-T.EExTHPoinl強(qiáng)得到一亍Csize翦構(gòu)體變駅、該孌佩包含亍符寬度

18、信息,通過(guò)計(jì)算得到下一個(gè)亭符的X坐標(biāo).第二種情況是確定換行時(shí)的文本塑標(biāo),利叩前而得到附字休信亂姑構(gòu)體Lni和當(dāng)前行的Y坐標(biāo)計(jì)算F行的Y塑標(biāo).文木輸出常用吋文木輸出Y/:TeKtOut.DrawTexl卿TabbcdTextOul等,苴中以函數(shù)TeUOuiM常用.這三種方法的特點(diǎn)見(jiàn)表具體的函數(shù)彤式見(jiàn)幫助丈件5-1二狗文豐輸川審數(shù)衲數(shù)訓(xùn)明TbilDuiDtjwTextFrabbcJJcxtOut便用斗前選中的寧悴和飆色在指宦冏位置上繪亂正文字符申住緒建的矩形向根擱指建的方法幣園化文本在指逛的缸養(yǎng)上抿據(jù)指建的方法輸出罕符出第六章Windows應(yīng)用程序?qū)︽I盤(pán)鼠標(biāo)的響應(yīng)任曲應(yīng)用程序如何響衿鋰檻消思?解答

19、:讎盤(pán)作為輸入設(shè)備是Windows應(yīng)用程序中卜分蚩要的輸入乎段半用戶(hù)按卜或釋放-個(gè)鍵時(shí),讒盤(pán)KEYBOARD.DRV中的進(jìn)盤(pán)中斷處理程序?qū)λ煎F進(jìn)行編碼.并調(diào)用Windows的用戶(hù)模塊USEREXE中的疽關(guān)程用來(lái)產(chǎn)生鍵盤(pán)消息.扯終發(fā)送到槪川程序的消息趴列中去等待處理.鹽盤(pán)上的每一??p都冇一個(gè)惟一對(duì)應(yīng)的標(biāo)識(shí)伯,稱(chēng)為掃描碼肖用戶(hù)按卜或咅釋放某鍵時(shí),都會(huì)產(chǎn)生這平口設(shè)備肯關(guān)時(shí)掃描碼,設(shè)備腿動(dòng)程序截取鍵的抽播碼后把它訥譯成為耳設(shè)備無(wú)關(guān)的虛擬碼,這樣鍵獻(xiàn)的輸入就吳產(chǎn)上一條消總,它包含冇掃描碼、虛擬碼以及貫他耳卅鍵仃關(guān)的信息設(shè)備驅(qū)動(dòng)程序?qū)⑾⒕乘凸卫劢y(tǒng)的消息恢列中,然后山Windows將游愿従送到相畫(huà)的線程

20、消息臥列中最后,11JWndProci數(shù)從誚息弘列中取出鍵盤(pán)消息,進(jìn)行型要的處理。力刊應(yīng)用程序如何啊應(yīng)鼠粽消息?解答:鼠標(biāo)柞為一種定位爺入設(shè)務(wù)在WmdOWS町覿憂編程中得到了廣泛的用用*通過(guò)鼠標(biāo)的單iti-ili和拖放功能用戶(hù)可以很容同地操柞棊于Windows界畫(huà)的應(yīng)用程序.敘標(biāo)驅(qū)動(dòng)程序在啟動(dòng)Windows時(shí)裝入,評(píng)血操牛系統(tǒng)適過(guò)甌標(biāo)驅(qū)動(dòng)程序能檢測(cè)出亂標(biāo)足否存在;若竄標(biāo)存在則設(shè)備馳動(dòng)穆斥就將捕測(cè)到任何竄標(biāo)審種閔肖在窗II內(nèi)冇風(fēng)標(biāo)事件發(fā)生時(shí),窗丨1就按收到一牛鼠標(biāo)爭(zhēng)件(以簾息的形或發(fā)送給應(yīng)用程序的窗【1)。注詭:能按受尿林事件的鬣口一定是活動(dòng)甜I或荷是貝哲輸入依點(diǎn)ll:鼠林消總劉表&T所示表6士

21、鼠標(biāo)的消息玻其含義滿(mǎn)息含義WM.LB(J1I,OKDOWN,曲戶(hù)區(qū)內(nèi)槪卜鼠標(biāo)左健WMLEJUTTONUP用戶(hù)區(qū)內(nèi)松開(kāi)嗣標(biāo)左鋌WM.LBUTTONDBLCLK用八區(qū)內(nèi)觀擊鼠標(biāo)左鋌WM.MBLTTONDOWJ用戶(hù)區(qū)內(nèi)應(yīng)下翳標(biāo)中趣WM.MBETTONIIP用戶(hù)區(qū)內(nèi)松開(kāi)鬧折中鍵WM.MBLITONDBLCLK用區(qū)內(nèi)礙疔國(guó)標(biāo)中邂WMRBLTTTOtVDOWN用嚴(yán)區(qū)內(nèi)按下更標(biāo)右翹wmRHtrTTOisrnp用八區(qū)內(nèi)松鼠標(biāo)右腿WM-RDLfTTONDaDCLK川戶(hù)區(qū)內(nèi)楓擊鼠標(biāo)右理WMMBI:TTONMOVE用戶(hù)區(qū)內(nèi)移動(dòng)園標(biāo)在馭標(biāo)消息中.參數(shù)IParam包含了做標(biāo)的WJParam的高位包含了竄標(biāo)的y坐標(biāo)P迎艮

22、m的低檢包含了鼠標(biāo)的k坐標(biāo);參數(shù)wParam包含了一個(gè)描示各種虛擬.碼狀態(tài)的值口第七章資源在Windows編程中的應(yīng)用r?簡(jiǎn)述菜單衍循的創(chuàng)建.過(guò)程.解答:菜單是Window用戶(hù)界而中窗門(mén)的莊要組成部分,菓單可使用戶(hù)直觀地了解井方便地使用憊用瓏序所提供的各項(xiàng)功能-創(chuàng)建菜卑可以分為定義利加載兩個(gè)步驟定義菜單菜單在資源丈杵中的定義形式為:菜單粘MENU1詼壩離單邛判表菓單塔表示特定的菜單.應(yīng)用程序適過(guò)蔬單喀加敎揩癥菜單。MBNU是關(guān)鍵字,用來(lái)表示務(wù)源的性質(zhì)=菜單項(xiàng)是菜單的釦戰(zhàn)部分5用PUPU和胚缶UITEM來(lái)蹇義菜申項(xiàng).武中POPUP定義彈出式菜單,MENUITEM.用來(lái)定義卜擔(dān)式菜單-=在資源文件

23、中尢義了菜單資瀝啟,還需堊在頭文杵中逬丈菜單頊標(biāo)識(shí)所討應(yīng)的數(shù)伯“加載菜單加載菜單的方法冇三種:在窗口類(lèi)中加載菜單-wndch&.IpKzMeiiiiNiinieEpsMeniLiNiinie;在創(chuàng).建窗口時(shí)加載菜單斤先調(diào)用LoedMenu加載萊單,在CreaUWindow雷數(shù)中加入:CreateWind,ow(勺*+專(zhuān),.s叮hMenu9*;苴中Menu是山曲數(shù)LoadMen山返回的菜單甸柄a動(dòng)態(tài)加載菜単庇用程序詡用雷數(shù)LoadMenut菜單旬柄民町以調(diào)用前數(shù)SetMenu剛態(tài)加城菜單E73I如何利用拉留費(fèi)源?解答:位圖是一種數(shù)字化的圖形表示形式,是表示一亍圖像訂標(biāo)的一慕列數(shù)據(jù)對(duì)于繪圖或圈片一

24、類(lèi)的鉉圖,數(shù)抵屋一般牧人為了提商顯示耐新堆度,也圈操件須在內(nèi)存坤境中進(jìn)行“位圏的撅柞包括宦義、加報(bào)、選入內(nèi)存設(shè)備環(huán)境和輸tLh宦殳位圖句柄定文位圖旬柄的方或如卜】HBTTMAPhRilmsp;(2加載位圖調(diào)用歯數(shù)hBitmap=LaadBilMap(.)加戟,位圖,獲得桂圖的句柄*(3選入設(shè)備環(huán)境調(diào)用畫(huà)數(shù)CreateCompatibJeDC向鎂統(tǒng)申請(qǐng)內(nèi)存設(shè)備山柄,癥取了內(nèi)存設(shè)備旬柄后.調(diào)用朗數(shù)SeleciObject將位圖逸入內(nèi)存技備壞境此時(shí)即可對(duì)英進(jìn)行編悄.(4輸出位圖尿用程序調(diào)ffl.BHBlt將位圖從內(nèi)存設(shè)備環(huán)境中輸配到揣定的設(shè)缶上.P4如河應(yīng)用時(shí)話框棗源7辭答:)ciweWMTNTTD

25、rALGG:retuin1;WM.COMMAND:brfflik;此消息處理雷既的瞬數(shù)打工窗口處理幽數(shù)冊(cè)彳幾也刈訂框處理函數(shù)的返回值與主窗I時(shí)處理函數(shù)不同,時(shí)話框消息處理國(guó)數(shù)西回BOOL偵血主窗I丨函數(shù)返回LRESULT儲(chǔ);対話樁處理幽敵不處理臬些消思如WMPAINT.WMCREATE和WMDESTROY等;此外,対未定冥的誚息處理不同:主窗I陶數(shù)通過(guò)調(diào)用DefWindowProc的數(shù)完成對(duì)未定義處理過(guò)程消息的赴理,而對(duì)譏框消息處理函數(shù)如呆接叔到未定義處理過(guò)程的消息陳腿回FALSE(return0)。關(guān)閉対鈉框在村詁框消息處理毆數(shù)中的合適位皆調(diào)用歯數(shù)EndDialog來(lái)關(guān)閉燉祜框“用模態(tài)對(duì)話樞

26、”的編視片模態(tài)時(shí)詡lir的編程類(lèi)飲但在定義創(chuàng)建及清息處理上有些差別定義的不同主要在設(shè)宜選項(xiàng)上:“養(yǎng)模態(tài)對(duì)話框”的樣式一般為:STYLEWS.POPUPIWSCAPT1ONIWSVISIBLE,注運(yùn)拝武中一定要包含WWVf?!BLE,否則對(duì)試框不能顯示H來(lái)口要調(diào)用西數(shù)CnfttcDialog來(lái)創(chuàng)建和顯示席話框。在主窗口消息處理程序中的消息讎壞中必須包含餓扶爰往1TF模態(tài)對(duì)詁框”的消息:井將H發(fā)送到相威怖消息處理函數(shù)中去處理的爲(wèi)句。女収whiJeGetMessage(tems,NULL,0,0)if(!laDialDgMessaelhDtgj&)趾函數(shù)刊斷消息是否發(fā)連對(duì)箱框(TthnsIaiuMm

27、SJLgo&Tj)sg);DispaIrhMessage(&trh);1獲閉“非橈態(tài)對(duì)話框時(shí),製調(diào)用曲數(shù)RestroyWindow.F-&)“模態(tài)對(duì)詁框”與心模戀對(duì)詒樞”何何區(qū)別?在輪程上有何不冋?解答:(門(mén)“檯態(tài)對(duì)話荊r不允許用戶(hù)在光閉對(duì)話樞上前切換到應(yīng)用梶序的其他窗口?!摆嗝B(tài)對(duì)話框”允許用戶(hù)在該對(duì)活框與應(yīng)用程序之閭來(lái)回切換。IF模態(tài)對(duì)窗艇”從WinMaJn函數(shù)的悄息循壞中按受輸入在編程上f非欖態(tài)對(duì)話樞”在定義資顋時(shí),必須在設(shè)置選項(xiàng)中電含WSVISI-BLE,否則不能顯示匚4)*橈態(tài)對(duì)話框”調(diào)用函數(shù)DialugBox來(lái)顯亦對(duì)話框,護(hù)非模態(tài)對(duì)站框”調(diào)用函數(shù)CrealeDiLilog來(lái)顯示對(duì)話

28、権=“非模態(tài)對(duì)詁和i廿需要在主函數(shù)的誚息循環(huán)中截按時(shí)話框消恵,但“模態(tài)對(duì)話框”不諧耍。(6模態(tài)對(duì)話框調(diào)用函數(shù)EndDiaiog其閉對(duì)詁框。模態(tài)對(duì)話框調(diào)用國(guó)數(shù)DcstroyWiridow來(lái)天閉對(duì)站樞a“創(chuàng)如何利用瀏標(biāo)覚源7孵答:一令圖標(biāo)代表一個(gè)應(yīng)用程序的特味雖小位崗當(dāng)在圏標(biāo)上嘆姑鼠標(biāo)左犍就可以執(zhí)行該程序。圈標(biāo)的操作類(lèi)似于前而淡到的位圖操作,也要經(jīng)歷圏標(biāo)的創(chuàng)建莊資源丈件中的定叉、圏標(biāo)的制我零步騾.慍標(biāo)的創(chuàng)建用戶(hù)可以利用Windows自定義的圖標(biāo),也可以通過(guò)瀏形編輯器自定文圖標(biāo)玉式也在蹩源文件中自定義関標(biāo)肖采用自定義圖標(biāo)形式Bf,要在費(fèi)源文件中擁入如卜代碼:闍標(biāo)名TCON圈標(biāo).文樺卓在應(yīng)用程序中力I

29、I我圈標(biāo)應(yīng)用理序是通過(guò)凋用函數(shù)LcKKHsri來(lái)進(jìn)行圈標(biāo)的加載的,此過(guò)程經(jīng)常在定義窗丨丨類(lèi)時(shí)進(jìn)行隼式為:wndclmss.himnLoadleant):第八章MFC基礎(chǔ)知識(shí)辯田MFC類(lèi)層次中工取包舎了哪些類(lèi)?解答:類(lèi)層次中主更包含以下各類(lèi):CDbjtxt類(lèi),它足MFC抽象革類(lèi),是MFC中第數(shù)類(lèi)利口定義子類(lèi)的根類(lèi),它為程序員捉供了許冬編程所需的公共操(仁這些操作包拒:對(duì)裂的建立和刪除、氷行化支持、對(duì)錄診斷輸出、運(yùn)行吋信息以及集合類(lèi)的兼容零.用程序體系皓構(gòu)類(lèi):它能提供多數(shù)應(yīng)用程序公用的功能應(yīng)用程序類(lèi)主耍包含了與命令相關(guān)的洪、宙口應(yīng).用程序:類(lèi)、玄秒觀類(lèi)和線程菇攤等。可視對(duì)曙類(lèi),它主耍包括:CWin

30、l窗IJ茨我?jiàn)涮峁┒FC中所有窗口的承本功能,它是CCmdTargel類(lèi)的基炎;CView視類(lèi)該類(lèi)農(nóng)示框架窗I的客戶(hù)區(qū)和顯示丈桂數(shù)拯并接竇輸入的客戶(hù)區(qū);CMenu菜單類(lèi)該類(lèi)足CObject類(lèi)的于英用于管理菜單;Crilog對(duì)話框類(lèi),該iCWnd攤中派生出來(lái),対話框子層次皓構(gòu)包括通用對(duì)-詁樞類(lèi)CDi汩諂以及支持文件選樣、蝕邑選擇r字體選擇r打印、替換.文本的公共對(duì)話框類(lèi);控杵類(lèi),揑件了-層次結(jié)構(gòu)包拈若T類(lèi)使用這些類(lèi)可以建芒靜態(tài)文本、金令按鈕、位圖按毓同J表樞等;CCottfi-aJBit-控件界類(lèi),控件條子鉛構(gòu)為工具條、狀態(tài)條.對(duì)訂荼祁分割留i楚立模型;CCdiObjeel繪麗對(duì)象類(lèi),圖闿繪畫(huà)

31、對(duì):象子層枚結(jié)掏以CGdiObject類(lèi)為根類(lèi),可以川于建立繪畫(huà)對(duì)彖模型,如畫(huà)筆、畫(huà)刷、字林、位圖、調(diào)色板等;CEC備描述表類(lèi),該類(lèi)及其子類(lèi)交持設(shè)備描述表対揚(yáng),是CObjecl類(lèi)的子類(lèi).踴用類(lèi)此分類(lèi)中的類(lèi)提供了很甫通用腮勞.側(cè)如立件卩【)、診斷和樣常杜那等”包括CFi抵類(lèi)和CAtche.CExceplion扳收集類(lèi)等&(5)OLE宛對(duì)象連接與嵌入(OLE)子忌次站構(gòu)為支持OLE提供了9個(gè)類(lèi),分為3種:普迪類(lèi)客尸類(lèi)和服務(wù)器類(lèi).(GODBC數(shù)據(jù)庫(kù)饕,開(kāi)放數(shù)據(jù)庫(kù)連接子層次給構(gòu)提供了一些類(lèi)來(lái)支持ODBC的特征.即適過(guò)這燉類(lèi)可訐發(fā)數(shù)據(jù)庫(kù)戰(zhàn)用捏序來(lái)訪間密牛數(shù)據(jù)庫(kù)立件.該層找給構(gòu)中上要包含CDaiaBase

32、類(lèi)xCRecordSel類(lèi)CRecordView類(lèi)等-D421如訶應(yīng)用應(yīng)用程序向?qū)??解?VisualC+6.0為了減輕輕序員的工件睫,特別増強(qiáng)了應(yīng)用程序的向?qū)Чδ茇蚊加醚e序向?qū)Ь谐绦騿T提供了一個(gè)基于MFC!的脫用程序框架,程序員只要在此慕礎(chǔ)上增加實(shí)現(xiàn)搟定功能的代碼即可一般通過(guò)以卜一場(chǎng)驟來(lái)實(shí)說(shuō):衽Ntw対話植(如各|S-t中所示)中選擇MFCAppWizard(exe),ProjectNaine文本框中輸入新建的項(xiàng)口粘如My.PrujecL,單擊QK鈕在彈出的MFCAppWiz.ard-iStep1對(duì)話框.如圖8竝所示)中可以設(shè)置應(yīng)月程序的類(lèi)型.指定網(wǎng)用程序膽結(jié)構(gòu)是否采用立襠器L圖魴構(gòu).以及資

33、源文件所使用的語(yǔ)種等應(yīng)用程序類(lèi)型主要何據(jù):?jiǎn)挝臋n應(yīng)H1程序,多文檔應(yīng)JB程序,菇于對(duì)話框的應(yīng)用程序在岳坤列我框中一般選癢中文作拘贄派文件的語(yǔ)種a單ih闌$逐中的Nexl按鈕,將彈出MFCAppWizardlep2試6對(duì)話框(如圈g書(shū)所示A在此對(duì)話框中毀國(guó)臧用程學(xué)所使用的數(shù)期庫(kù)支持,它有匹種選壩默認(rèn)值足None.忍略所有的數(shù)據(jù)庫(kù)玄持-選擇應(yīng)用程序的數(shù)據(jù)庫(kù)支持后+單占按鈕,彈出MFCAppWi如代1壞3of6燉詁框(如陽(yáng)&4所和=蠱此蔵話框中町以設(shè)謾應(yīng)用程序所交持的復(fù)合文檔類(lèi)型。這一涉使程序負(fù)可以向應(yīng)用程序切入OLE立持,設(shè)冒完后,單擊Nzt按鈕,將進(jìn)入MFC?AppWizard-Sicp斗就各對(duì)

34、話框如圈8-5所示h在此可此設(shè)置程序的外觀,如是否便用工具欄、是否有初始狀態(tài)出是否使用3D控件等等設(shè)首后舉市Ncm按釧,進(jìn)入MFCAppWizardStep5of6對(duì)話如圖Kft所示)-在此可以粽窗丨1惋格設(shè)國(guó)為標(biāo)準(zhǔn)鳳格或WindowsExplorer鳳格.還可以設(shè)置是否在向用捏序中工成代碼注粹,是咲艾宇動(dòng)態(tài)銃按庫(kù)還臺(tái)以靜念就按庫(kù)的力貳便用MFC庫(kù)等方式-說(shuō)宜完啟,單山M就I按鈕,址入MbCAppwitirdStep6of6對(duì)訕框(如闍Z所示)在此可以設(shè)置向?qū)傻奈募铑?lèi)名.設(shè)置后r單Finish按鈕,彈岀NewProjectInformation對(duì)話框(如圖88所示)*在該對(duì)劉框中列出了

35、關(guān)于建立的應(yīng)用程序項(xiàng)日文件的相關(guān)償息-這樣應(yīng)用程序向?qū)?cái)工作就全部完成了向?qū)б呀?jīng)為用戶(hù)生成了一個(gè)叮執(zhí)的應(yīng)用程序框架,侶專(zhuān)在應(yīng)用程序向?qū)е心軌騽?chuàng)建哪些類(lèi)型的文件?解答:VisualC+6D可以創(chuàng)建的丈件類(lèi)型如農(nóng)H所示.VisualC卄6成創(chuàng)崖的文件樂(lè)刑文件爽型饑明文件莢製謝聊ActweSgtterligcBitmapFUeGC+HoudciFikHTMLl嗨創(chuàng)建活動(dòng)孵錚番創(chuàng)建位岡丈杵&Joc卄頭文件創(chuàng)建HTML文件BimryKileC-H-StMirceFileCLLisarFUefexjuFilm創(chuàng)建一進(jìn)曲文件邇建C+爾文件巡建光標(biāo)文怦垃建圈掠文件MdfruFileRtouiHLCTcti

36、jpkleTextFile RtfiuurtcScrip!SQLScriptFlit創(chuàng)建資源腳本文件削建呂QL腳本文件創(chuàng)建宏文件創(chuàng)建敢源模威立件創(chuàng)建立本立件第九章Windows標(biāo)準(zhǔn)控件在可視化編程中的應(yīng)用眇41常用控件祁哪些類(lèi)型?解Windows提供了從蚩的控件.具中常用的控件主豐包抵:按鈕控件濫動(dòng)條控件、靜態(tài)控件、列農(nóng)桓控件、編輯桓控件、爼合框控件.控件為可裡化編理提供了方便快捷的途徑。9勻按鈕控件的特點(diǎn)是什么?懈答:按釧控件是Windows用程序中攝常用的控件才一,它的種類(lèi)較多,功能豐宮“如仔普通扶鈕15嚴(yán)單選杭鍛”嚴(yán)負(fù)選按鈕”和代爼合框按朝捋”“轡遇按鈕”上可以貴置文本和加載位圏廣單選按

37、鈕”具有互斥性,當(dāng)選中棊一牛選項(xiàng)時(shí),其他的選項(xiàng)自動(dòng)取消;復(fù)選按鈕”可以允許用戶(hù)進(jìn)行務(wù)項(xiàng)選擇f1組合框按鈕是一種特殊的按鈕:既奉牡理鼠標(biāo)和鍵撇檢入,也不向具父務(wù)口發(fā)送消恩使用它主要是使畀面整齊.按鈕作為-種T-窗,可以具有一些窗匚|前樣式,另外還具有很多獨(dú)特的樣式am按忸控件是如何應(yīng)用的?解答:按鈕是一種北常巾用的控件它具冇若干用導(dǎo)燉于接收來(lái)白用戶(hù)陸命令或響附,一個(gè)卜壓武按機(jī)足適當(dāng)?shù)淖V擇箱存在若個(gè)互相排斥的數(shù)抑項(xiàng),一紐單選按鈕是脂址用戶(hù)選擇的方便的方法如果若干個(gè)選項(xiàng)之間不互相排斥,一組復(fù)選框是比較好的握擇。若要?jiǎng)?chuàng)建一個(gè)框架,將苴柚的揑件包圉在B;中,則常使用分組框。9如按翅揑件分為幾類(lèi)?解答:在

38、Winduwy中主要有四種按鈕:復(fù)選框(CheckbM弟)、單一選按鈕(RadiobuL-tqct)F壓式按鈕Pu百hbiLttoii的和分組梔(Or與pbjo覽軸)抄劇各種按鈕控件的類(lèi)是如何定義的?解答:CEuLton是CWnd炎的派生類(lèi),它同時(shí)貝CWnd艾的一切功能“類(lèi)中的函數(shù)按照功能分為3舅:(i)創(chuàng)理利初始化喑數(shù):拘造函數(shù)用來(lái)初始化C帥1伽真對(duì)象;Created窗口的指定儻置創(chuàng)建CBullim對(duì)釦常用的CButton對(duì)彖方法:GetStaie獲得一牛按鈕控件的選中、隹擇和聚焦?fàn)顟B(tài)iSetState喪置一牛按鈕愉選擇狀態(tài);GetCheck得到一個(gè)按鈕的選中吹態(tài);SeiCHeck設(shè)雪一個(gè)按

39、釗的選中狀態(tài);GelButlonSlyle獲得一個(gè)按鈕I的樣武;SetBuItonSLyle設(shè)定-個(gè)按鈕的njSetBkmap設(shè)定按凱上顯示IjGetBkmap獲得按鈕上顯示位圈的旬柄俘析拗函數(shù)B初哪些按鈕控件需要初始化?脾答:?jiǎn)芜x按鈕利復(fù)選框按齟需要初始化.B刊滾動(dòng)條分為凡類(lèi)?其類(lèi)結(jié)構(gòu)是如何宣義的?解答:滾動(dòng)條分為“垂宜懷動(dòng)條和“水平滾動(dòng)紂炳種.滾動(dòng)條:萸是CWnd的派生類(lèi)它同時(shí)繼承TCWnd的所有功能.類(lèi)中宦義貫函數(shù)按服功能分為3類(lèi)(1)創(chuàng)建和初始優(yōu)禹數(shù):包括CScrolJBar構(gòu)遙附數(shù).Create曲數(shù)用于在窗口中創(chuàng)建一個(gè)滾動(dòng)條: (2)滾動(dòng)第類(lèi)方法歯數(shù):主要包括設(shè)置滾動(dòng)茶滾動(dòng)范掛的函數(shù)

40、SetScrolUange,設(shè)麗消塊位置的幽數(shù)SeIScroll位遊的味數(shù)GctScrdlPo,設(shè)進(jìn)懐動(dòng)條信息函數(shù)SetScrollInfo,獲得滾動(dòng)條信息函數(shù)GetScrallInTo等;f3)折構(gòu)函數(shù)話罰滾動(dòng)條控杵是如何進(jìn)行消息傳遞的?解答:一令fdFC程序需址理兩種.來(lái)口滾動(dòng)條的消恩,這些消思町以誼過(guò)消息映像項(xiàng)和消息處理程庫(kù)來(lái)完成*我AF是兩個(gè)獲息映像項(xiàng).表!Ft消息映債頊消息映像意義ON.WMl5iCROI.L斗水平滾動(dòng)條位閤變化時(shí)一水平樓動(dòng)峯覽送此誚總ONWMVSCKOLL當(dāng)垂頁(yè)滾功條便置變化時(shí),垂百灤動(dòng)秦爰送此消崑看起來(lái)迭個(gè)控件只冇很少的消倉(cāng).隹實(shí)際上這兩個(gè)消總映像中乜含了仆常半富

41、的佶息.MFC通過(guò)兩于消息處理謝數(shù)OnHScroll.flIOnVScrull來(lái)處理這兩條消息,這兩個(gè)消息的徵型聲明如卜一:afxms.votilOLtHScrullfU1NTnSBCude,LINTnPos,CiicrullEkirpScrollBiir)afx.msgvoidOnVScroll(UlNTnSECcde,UINTnPus.CtcfollBdirTpSmiNBitr貝中pScrollBat針捋向發(fā)送消總旳滾動(dòng)條搜件.慮BS血扌斤明了一個(gè)町能的謖動(dòng)茶代碼,也就是用戶(hù)村滾動(dòng)條按作的類(lèi)型(如表9占所示)-參數(shù)tiPm只有當(dāng)通知代瑪為塵歐THIJMRPOSITFON利SBTHUMBTR

42、ACKJ仃效,表示円血滑塊時(shí)位査.用戶(hù)只需根揺系統(tǒng)俊趣進(jìn)來(lái)的消奩來(lái)進(jìn)行相尿的處理即可表2滾動(dòng)綣的通知代殆通鈿代碼1含.ZBBOTTOM用戶(hù)按End建轅動(dòng)御戢大值SBENTJSCROLL陽(yáng)戶(hù)釋放一個(gè)鍵-發(fā)送一些虛鍵碼WM一KETOWN)滾動(dòng)停止SBLINEDOWN向下漉一行SBLINEUP向上嚷一,訂SBLINELEFT向左滾-”行SBLINERIGHT腳右滾一荷SBPAGEDOWN向卜滝一頁(yè)SBPAGEUP向上滾-頁(yè)SBPAGELBFT向左礎(chǔ)一頁(yè)SBPAGLRIGHT向右滾一MSBTHUMBPOSITION拖動(dòng)到絕對(duì)也豈SBTHUMBTRACT拖動(dòng)滑塊到指泄的位冒SBTOP用戶(hù)煦動(dòng)Home鍵,

43、滾初劉最小值杪劃編輯框控仰是如何便用的?郵答:在麼用Z前一定要?jiǎng)?chuàng)建編緝框控件,有兩種方法町以創(chuàng)建編輯框控件:刑用VisualC+-6jOfq帶財(cái)資源編輯鬍,把編輯框揑件放匿在指定的対詁框窗1-1的合適位應(yīng),燃.后利用ClassWizard把送個(gè)編輯框控件利一個(gè)CEdnJ象聯(lián)條起來(lái)。在程序中宦義一個(gè)CHdit対象鬧用Create為編悒樁控件設(shè)酉參數(shù)和樣式來(lái)初始化EE曲対象然后我們就對(duì)以調(diào)用各種編輯框方法來(lái)使用編輯框,常用的方法如下:Cu心方法將編軻框中旳文本拷貝到勇珮板;Cut方怯將騙輯框中的文本剪貼到剪貼板;P狛上方法將剪妙板中的.數(shù)抓插人到編輯框控件中光標(biāo)所在的位置上;Clear方袪刪除編輯

44、框中為前的選釋?zhuān)籆auUndo方法決定一人纏輯框操作是否可以撤銷(xiāo);Undo方法取消編輯框中的罠后一次的操柞;SetSel在編輯框中設(shè)定選掙的范圍;Replacescl方法用招定的更本來(lái)代替選中的文本;GetSei方法獲得編輯框控件中當(dāng)前選揮的開(kāi)始和結(jié)束字符的位置.抄劉】編輯框控件的類(lèi)谿鞫是如何宦義的?解答:MFr在類(lèi)廣珂冊(cè)中捉供了標(biāo)萍的Windows編掛握控杵朋勞”廣閔討是。附胡類(lèi)的冑接淀生炎這就意味著它MSCWndft所有功能-作砒類(lèi)的定義結(jié)構(gòu)很復(fù)雜,我們可以把謫類(lèi)的函數(shù)按功能作如下劃分:榕適隨I數(shù)CEdii函數(shù)用來(lái)初始化CHdit對(duì)繪;Ue址e阱數(shù)用來(lái)在窗口的合適位訝上建立編輯框控件砸用C

45、Edit類(lèi)方法等剪貼梶操作儒.數(shù);Undm1cltleCDnitiitfi()KeleaseFilet)SjLVfiMt)dified()JsMcdificd()SetModifiedFhgOGetHrsrViev卩飾i你】m0由炳FC調(diào)用來(lái)更宜文檔由MFC訓(xùn)用來(lái)打開(kāi)文檔由來(lái)保存文檔由訓(xùn)用來(lái)關(guān)閉立檔磁企觀家文檔的框架窗口是否被允許關(guān)莊在耒撤銷(xiāo)文檔對(duì)象吋刪除文檔數(shù)州禪敢文件以允許牡他向用程睜蝕舟査詢(xún)文描的慘改狀態(tài)井存儲(chǔ)修改的文檔碗建文檔從它晟后一次存儲(chǔ)后見(jiàn)否披修訂過(guò)設(shè)置文檔從它蚊后一次存儲(chǔ)甘是否被修訂過(guò)的冇爾值機(jī)得視圈列麥頭的恆頁(yè)我需視韌列表的V個(gè)祗岡CDacumeni的派生炎的構(gòu)造步騾是如何進(jìn)

46、廳的?解笞:一膛探說(shuō),從CDncumtM類(lèi)派生口的史檔類(lèi)所需胸典型步驟為:為每k文檔尖羽從CDocument尖(肖然也可以懸只他CDocunienl類(lèi)的派生 類(lèi))派生一個(gè)相應(yīng)的文檔類(lèi)a刃丈檔類(lèi)添加成員變蛍.這些成員變議用來(lái)保存丈檔的數(shù)據(jù),其他對(duì)喙如有丈1和天聯(lián)的覘圖)H接或剛按地訪何迖蘭成員變?cè)彰鬃x取或更新文檔的數(shù)拯一SeriaEzc成-員腑數(shù)實(shí)現(xiàn).文檔數(shù)據(jù)的串荷化。ft11文檔模板類(lèi)的結(jié)構(gòu)是汕厠定義的?解答:文襠摸板類(lèi)CDocTempire是從CTnuJTiirg航婁卜派0:的工DocTginphi対類(lèi)提供了文檔模板類(lèi)所需要的最幕木的功能賽現(xiàn)它提供的方法分別是一般方法和虛擬方法(如表11T所

47、示1。表11-3CDdTtiiiplirtE類(lèi)的方法方法說(shuō)明GeLDucStringO獲得與立檔柑關(guān)的字符幣Load!emp1ate(加載指泄的模板AdilDocumentO給文檔模板潛加指世的模板RcTnoveDDcmncntf從文檔模板列表中刪除文檔GetFirKlDocP(jsitiDD()莪得與文期模板相關(guān)的第一牛丈悄的位豈GetNextEocC)獲得文畧及下一個(gè)文檔CreateNewDuuninea1()建立文檔CreateNewFraTue()建立包含文檔和視聞的框架窗11OpenDiTCUTnentHilei)盯丿卜由路粋粥指罡購(gòu)文膽iCfoneAilDt)cument()關(guān)聞所

48、有文檔SctDcfsinltTitlc()豆示文檔窗口的標(biāo)題欄中默認(rèn)的標(biāo)題SaveAaiMcxlid()査詢(xún)文梢模廡旳倏改狀態(tài)并存儲(chǔ)與之關(guān)喉的所冇文檔在M+6.0収主檔類(lèi)占丈檔次相關(guān)朕的視圖類(lèi)以及為視圖類(lèi)捉供屋示的框架窗口都是山丈檔模板創(chuàng)建的.每一種丈榔類(lèi)型都有一種文檔橈板與之相對(duì)恢,丈檔模板員資創(chuàng)建和管理該文檔類(lèi)型的所脊文檔.文檔、視圈和框架二若之何的聯(lián)系是通過(guò)文檔模膠的構(gòu)造闊數(shù)來(lái)實(shí)現(xiàn)的&W視閨類(lèi)的給構(gòu)是如何定義的?解答:CW伽V類(lèi)UCWnd類(lèi)F誕生的,由爭(zhēng)所有的從Ciidw類(lèi)淀生的類(lèi)也娜建由FWrul類(lèi)間接派生的,所仃的這些糞都具仃CWnd的所有功能|創(chuàng)建、移動(dòng)、顯那和隱藏窗口,岡此CViewnJl接枚任何Windows消息,CView類(lèi)提供了文檔類(lèi)所需更的疑族本的功能實(shí)現(xiàn)官提供的方擺分別是一般方法和塩擬方梏(1)一旣方祛:一般方法如表所示a表11凋皿訓(xùn)類(lèi)的一股方法方法說(shuō)明GqjlDvuuineril()DoPrcporcPinmting()荻得描向弓視陽(yáng)躺犬聯(lián)的文檔的惜計(jì)設(shè)這打印預(yù)覽(2)虛擬方法:虛擬方

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論