全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
西安郵電學(xué)院 2007-2008 學(xué)年第 二 學(xué)期試題卷參考答案課程: Windows編程 類型: A 卷 專業(yè)、年級(jí):計(jì)科、軟件06級(jí)題號(hào)一二三四五六七八九總分得分 一 、簡(jiǎn)答題:1. Winsows編程中窗口的含義是什么?(5分)答:在Windows中,一個(gè)窗口就是屏幕上的一個(gè)矩形區(qū)域,它接收用戶的輸入并以文字或圖形的格式顯示輸出內(nèi)容。窗口是Windows應(yīng)用程序基本的操作單元,是應(yīng)用程序與用戶之間交互的接口,也是系統(tǒng)管理應(yīng)用程序的基本單位。2. Windows API是什么?請(qǐng)你寫出它的英文全稱。(5分)答:Windows的API是Windows操作系統(tǒng)的應(yīng)用程序接口。(3分)Windows的API的英文全稱是Windows Application Programming Interface.(2分)3. Windows應(yīng)用程序可以使用哪些資源?資源的主要作用有哪些?(5分)答:Windowss應(yīng)用程序可以使用:加速鍵,位圖,光標(biāo),對(duì)話框,菜單,工具條,字符串等。在Windows的可執(zhí)行文件中,資源是獨(dú)立于代碼的,使用單獨(dú)的Resource Compiler來進(jìn)行編譯,并嵌入到可執(zhí)行文件中,在編程過程中,代碼是可復(fù)用的,通過資源的導(dǎo)入導(dǎo)出功能來實(shí)現(xiàn)資源的可復(fù)用。另外,程序的國際化,也是通過資源來實(shí)現(xiàn)的。4. 什么是句柄?句柄有哪些作用?(5分)答:句柄是一個(gè)32位無符號(hào)整數(shù)。它是WINDOWS用來標(biāo)識(shí)被應(yīng)用程序所建立或使用的對(duì)象的唯一整數(shù),WINDOWS使用各種各樣的句柄標(biāo)識(shí)諸如應(yīng)用程序?qū)嵗?,窗口,菜單,位圖,GDI對(duì)象等。常用的句柄類型有: HINSTANCE (運(yùn)行實(shí)例句柄)、 HWND (窗口句柄)、 HMENU(菜單句柄)、HBITMAP(位圖句柄)、HPEN(畫筆句柄)、HBRUSH(畫刷句柄)等。通過句柄可以獲得相應(yīng)的對(duì)象信息。在Windows中,句柄(Handle)并非對(duì)象的指針,它是系統(tǒng)內(nèi)部表的索引值。這樣能避免應(yīng)用程序直接與對(duì)象的內(nèi)存地址打交道。5. 什么是圖形設(shè)備接口GDI?(5分)答:Windows圖形設(shè)備接口(GDI)的英文全稱是Graphics Device Interface,是為與設(shè)備無關(guān)的圖形設(shè)計(jì)的,GDI處于設(shè)備驅(qū)動(dòng)程序的上一層,是Windows的重要組成部分。它負(fù)責(zé)管理用戶繪圖操作時(shí)功能的轉(zhuǎn)換。Windows 通過GDI函數(shù)為應(yīng)用程序提供服務(wù)。用戶通過調(diào)用GDI函數(shù)繪制不同尺寸、顏色、風(fēng)格的幾何圖形、文本和位圖。GDI通過不同設(shè)備提供的驅(qū)動(dòng)程序?qū)⒗L圖語句轉(zhuǎn)換為對(duì)應(yīng)的繪圖指令,避免了應(yīng)用程序直接對(duì)硬件進(jìn)行操作,從而實(shí)現(xiàn)所謂的設(shè)備無關(guān)性。6. Winsows編程中MFC表示什么?請(qǐng)你寫出它的英文全稱。(5分)答:Winsows編程中MFC表示微軟基礎(chǔ)類庫,它的英文全稱是Microsoft Foundation Class.7. 什么是一個(gè)Visual C+ Project(項(xiàng)目或者譯為工程)?(5分)答:在Visual C+ IDE中,把實(shí)現(xiàn)程序設(shè)計(jì)功能的一組相互關(guān)聯(lián)的C+源文件、資源文件以及支撐這些文件的類的集合稱為一個(gè)項(xiàng)目。Visual C+ IDE以項(xiàng)目作為程序開發(fā)的基本單位,項(xiàng)目用于管理組成應(yīng)用程序的所有元素,并由它生成應(yīng)用程序。項(xiàng)目用項(xiàng)目文件DSP(Developer Studio Project)來描述,文件名后綴為.dsp。項(xiàng)目文件保存了項(xiàng)目中所用到的源代碼文件和資源文件的信息,如文件名和路徑。同時(shí),項(xiàng)目文件還保存了項(xiàng)目的編譯設(shè)置等信息,如調(diào)試版(Debug)或發(fā)布版(Release)。8. 何謂應(yīng)用程序框架?(5分)答:同一類型應(yīng)用程序的結(jié)構(gòu)大致相同,并有很多相同的源代碼,因此可以通過一個(gè)應(yīng)用程序框架AFX(Application FrameWorks)編寫同一類型應(yīng)用程序的通用源代碼。MFC應(yīng)用程序框架將那些每個(gè)應(yīng)用程序都共同需要使用的代碼封裝起來,如完成默認(rèn)的程序初始化功能、建立應(yīng)用程序界面和處理基本的Windows消息,使程序員不必做這些重復(fù)的工作,把精力放在實(shí)質(zhì)性代碼的編寫上。9. 在開發(fā)Windows應(yīng)用程序時(shí)使用Device Context(設(shè)備環(huán)境或者譯為設(shè)備上下文)有什么好處?(5分)答:設(shè)備環(huán)境(Device Context設(shè)備上下文)是設(shè)備無關(guān)的,是設(shè)備的抽象。通過使用設(shè)備環(huán)境(Device Context設(shè)備上下文),程序員在編程時(shí)不用關(guān)心設(shè)備的類型。(2分) 圖形在不同的設(shè)備上輸出都需要經(jīng)過轉(zhuǎn)換,由于有了設(shè)備環(huán)境(Device Context設(shè)備上下文),這個(gè)具體轉(zhuǎn)換過程由操作系統(tǒng)去實(shí)現(xiàn), 這樣就大大地降低了應(yīng)用程序設(shè)計(jì)的復(fù)雜性,提高了應(yīng)用程序的通用性和應(yīng)用程序開發(fā)的效率。(3分)10. Windows系統(tǒng)提供的標(biāo)準(zhǔn)控件有哪些?(5分)答:靜態(tài)控件,按鈕控件,編輯框控件,列表框控件,組合框控件,滾動(dòng)條控件。二、簡(jiǎn)要回答下列問題:1. 請(qǐng)你簡(jiǎn)要描述Windows程序的事件驅(qū)動(dòng)程序模型。(10分)答:事件驅(qū)動(dòng)程序設(shè)計(jì)是一種全新的程序設(shè)計(jì)方法,它不是由事件的順序來控制,而是由事件的發(fā)生來控制,而這種事件的發(fā)生是隨機(jī)的、不確定的,并沒有預(yù)定的順序,這樣就允許程序的用戶用各種合理的順序來安排程序的流程。(3分)對(duì)于需要用戶交互的應(yīng)用程序來說,事件驅(qū)動(dòng)的程序設(shè)計(jì)有著過程驅(qū)動(dòng)方法無法替代的優(yōu)點(diǎn)。它是一種面向用戶的程序設(shè)計(jì)方法,它在程序設(shè)計(jì)過程中除了完成所需功能之外,更多的考慮了用戶可能的各種輸入,并針對(duì)性的設(shè)計(jì)相應(yīng)的處理程序。它是一種“被動(dòng)”式程序設(shè)計(jì)方法,程序開始運(yùn)行時(shí),處于等待用戶輸入事件狀態(tài),然后取得事件并作出相應(yīng)反應(yīng),處理完畢又返回并處于等待事件狀態(tài)。(3分)它的框圖如圖所示: (圖形4分)在圖中,輸入界面1-3并沒有固定的順序,用戶可以隨機(jī)選取,以任何合理的順序來輸入數(shù)據(jù)。2. Winsows編程中常用的消息有哪些?應(yīng)用程序如何響應(yīng)鍵盤消息?(10分)答:Windows應(yīng)用程序的運(yùn)行需要依靠外部發(fā)生的事件來驅(qū)動(dòng),描述事件發(fā)生的信息稱為消息(message)。例如,當(dāng)用戶按下鍵盤的某個(gè)鍵時(shí),系統(tǒng)就會(huì)產(chǎn)生一條特定的消息,標(biāo)識(shí)鍵盤被按下事件的發(fā)生。Windows中常用的消息有:窗口管理消息、初始化消息、輸入消息、系統(tǒng)消息、剪切板消息、控件處理消息、控件通知消息、滾動(dòng)條通知消息、非用戶區(qū)消息、MDI(多文檔見面)消息、DDE(動(dòng)態(tài)數(shù)據(jù)交換)消息,以及應(yīng)用程序自定義的消息等。因?yàn)橐话愕腜C只有一個(gè)鍵盤,所以所有運(yùn)行中的WINDOWS程序必須共用它。WINDOWS 將負(fù)責(zé)把擊鍵消息送到具有輸入焦點(diǎn)的那個(gè)應(yīng)用程序的消息隊(duì)列中去。盡管屏幕上可能同時(shí)有幾個(gè)應(yīng)用程序窗口,但一個(gè)時(shí)刻僅有一個(gè)窗口有輸入焦點(diǎn)。有輸入焦點(diǎn)的那個(gè)應(yīng)用程序的標(biāo)題條是高亮度顯示的。當(dāng)用戶按下一個(gè)鍵時(shí),WINDOWS就會(huì)發(fā)送一個(gè)鍵盤輸入消息給有輸入焦點(diǎn)的那個(gè)應(yīng)用程序,應(yīng)用程序會(huì)根據(jù)輸入消息執(zhí)行相應(yīng)的任務(wù)。Windows操作系統(tǒng)產(chǎn)生和傳遞鍵盤消息的過程如下:1) 當(dāng)用戶按下某個(gè)鍵時(shí),鍵盤會(huì)檢測(cè)到這個(gè)動(dòng)作,并通過鍵盤控制器把掃描碼(scan code)傳送給Windows的鍵盤驅(qū)動(dòng)程序。(鍵盤上的每一個(gè)鍵都對(duì)應(yīng)一個(gè)唯一的標(biāo)識(shí)值,我們稱之為掃描碼。鍵盤掃描碼與具體的硬件有關(guān)的,不同廠商對(duì)同一個(gè)鍵的掃描碼有可能不同。)2) 鍵盤驅(qū)動(dòng)程序把這個(gè)掃描碼轉(zhuǎn)換為鍵盤虛擬碼,(虛擬碼與具體硬件無關(guān),不同廠商的鍵盤,同一個(gè)鍵的虛擬碼都是相同的。)然后,鍵盤驅(qū)動(dòng)程序把該鍵盤操作的掃描碼和虛擬碼以及其它信息傳遞給操作系統(tǒng)。3) Windows操作系統(tǒng)的用戶模塊將獲得的按鍵信息封裝在一個(gè)鍵盤消息中,并把該鍵盤消息發(fā)送到應(yīng)用程序的消息列隊(duì)中。4) 應(yīng)用程序接收到消息后,將對(duì)消息進(jìn)行轉(zhuǎn)換并處理。3. 請(qǐng)你簡(jiǎn)述應(yīng)用程序類、框架類、文檔類和視圖類的主要功能。(10分)答:應(yīng)用程序類CWinApp負(fù)責(zé)一個(gè)且唯一的一個(gè)應(yīng)用程序?qū)ο蟮膭?chuàng)建、初始化、運(yùn)行和退出清理過程。(3分)框架窗口類CframeWnd負(fù)責(zé)顯示和搜索用戶命令, 例如:響應(yīng)標(biāo)準(zhǔn)的窗口消息。(3分)視圖類Cview負(fù)責(zé)為文檔提供一個(gè)或者多個(gè)視圖。(2分)文檔類Cdocument負(fù)責(zé)裝載和維護(hù)文檔。(2分)4. 什么是文檔/視圖結(jié)構(gòu)?請(qǐng)你以單文檔應(yīng)用程序?yàn)槔務(wù)勀銓?duì)文檔/視圖框架的理解?(10分)答:目前常用的Windows應(yīng)用程序中,很多是以文檔、視圖結(jié)構(gòu)為基礎(chǔ)的。該體系結(jié)構(gòu)的基本思想是將數(shù)據(jù)的管理和顯示分開。這樣做可以使軟件組件的分工更加明確,形成更好的模塊化軟件。利用AppWizard生成單文檔和多文檔程序框架時(shí),它所創(chuàng)建的應(yīng)用程序類、框架窗口類、文檔模板類、視圖類、文檔類等構(gòu)成一個(gè)相互關(guān)聯(lián)的結(jié)構(gòu),我們稱此結(jié)構(gòu)為文檔/視圖結(jié)構(gòu)。下圖是一個(gè)典型的SDI文檔/視圖結(jié)構(gòu)的示意圖。由應(yīng)用程序類CWinApp實(shí)例化的一個(gè)應(yīng)用程序?qū)ο筘?fù)責(zé)應(yīng)用程序的初始化,創(chuàng)建文檔模板類對(duì)象,接收Windows消息,維護(hù)消息循環(huán)并將消息發(fā)送到目標(biāo)窗口。文檔模板類對(duì)象負(fù)責(zé)保持文檔、視圖、框架窗口類對(duì)象之間的關(guān)系??蚣艽翱陬怌frameWnd對(duì)象提供了一個(gè)應(yīng)用程序的主窗口,通常該窗口包含了一個(gè)最大最小化按鈕、標(biāo)題欄工具條和狀態(tài)條的創(chuàng)建、初始化和銷毀。文檔類對(duì)象負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行管理和維護(hù),數(shù)據(jù)通常保存在文檔類的成員變量中。視圖類對(duì)象負(fù)責(zé)為文檔提供一個(gè)或者多個(gè)視圖。在文檔和用戶之間起中介作用。視圖可以直接或間接的訪問文檔類中的成員變量,它從文檔類中(而不是從存儲(chǔ)介質(zhì)中)將文檔中的數(shù)據(jù)取出來,然后在屏幕上顯示文檔的數(shù)據(jù)。每個(gè)文檔可以有多個(gè)視圖,但是每個(gè)視圖只能對(duì)應(yīng)一個(gè)確定的文檔。5. 請(qǐng)你談?wù)剬?duì)MFC中消息映射的理解。(10分)答:眾所周知,Windows是基于消息驅(qū)動(dòng)的,作好消息處理是Windows編程的關(guān)鍵任務(wù)之一,在MFC中消息是通過一種所謂的消息映射機(jī)制來處理的。應(yīng)用程序框架使用消息映射(message map)來連接消息和對(duì)應(yīng)的消息處理函數(shù)。消息映射本質(zhì)上就是一個(gè)數(shù)組,應(yīng)用程序框架使用該數(shù)組來確定消息傳遞時(shí)具體要傳遞給哪個(gè)對(duì)象,由哪個(gè)消息處理函數(shù)來處理。這樣的好處是可以避免像早期的SDK編程一樣需要羅列一大堆的case語句來處理各種消息。例如:BEGIN_MESSAGE_MAP(CDrawCoi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年浙教新版四年級(jí)英語下冊(cè)月考試卷
- 2025年魯人新版五年級(jí)英語上冊(cè)月考試卷
- 安徽省水平測(cè)試數(shù)學(xué)試卷
- 2025屆江蘇省溧水縣重點(diǎn)名校中考生物最后沖刺模擬試卷含解析
- 八省聯(lián)考永州數(shù)學(xué)試卷
- 江蘇省興化市昭陽湖初級(jí)中學(xué)2025屆中考生物對(duì)點(diǎn)突破模擬試卷含解析
- 2024年版二手安防設(shè)備銷售合同
- 2024版股權(quán)轉(zhuǎn)讓擔(dān)保合同
- 二零二五年度肉類產(chǎn)品智能物流系統(tǒng)建設(shè)合同
- 甘肅省平?jīng)鍪星f浪縣市級(jí)名校2025屆中考聯(lián)考生物試題含解析
- 精細(xì)陶瓷 斷裂韌性試驗(yàn)方法 單邊V型切口梁法
- 2024年海峽出版發(fā)行集團(tuán)有限責(zé)任公司招聘筆試沖刺題(帶答案解析)
- 第三十六屆全國電力行業(yè)風(fēng)力發(fā)電運(yùn)行檢修職業(yè)技能競(jìng)賽基礎(chǔ)理論題庫附有答案
- 人教版三年級(jí)上冊(cè)數(shù)學(xué)期末測(cè)試卷a4版可打印
- 2024年紀(jì)檢監(jiān)察綜合業(yè)務(wù)知識(shí)題庫含答案(研優(yōu)卷)
- 科室醫(yī)療質(zhì)量與安全管理小組工作制度
- 歡樂喜劇人小沈陽《四大才子招親大會(huì)》劇本投稿:程祅祆
- 初二生地會(huì)考試卷及答案-文檔
- 保險(xiǎn)公估服務(wù)行業(yè)發(fā)展史與現(xiàn)狀分析
- 著作權(quán)案例分析
- 人教版四年級(jí)上冊(cè)豎式計(jì)算400題及答案
評(píng)論
0/150
提交評(píng)論