




全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
西安郵電學(xué)院 2007-2008 學(xué)年第 二 學(xué)期試題卷參考答案課程: Windows編程 類型: A 卷 專業(yè)、年級:計科、軟件06級題號一二三四五六七八九總分得分 一 、簡答題:1. Winsows編程中窗口的含義是什么?(5分)答:在Windows中,一個窗口就是屏幕上的一個矩形區(qū)域,它接收用戶的輸入并以文字或圖形的格式顯示輸出內(nèi)容。窗口是Windows應(yīng)用程序基本的操作單元,是應(yīng)用程序與用戶之間交互的接口,也是系統(tǒng)管理應(yīng)用程序的基本單位。2. Windows API是什么?請你寫出它的英文全稱。(5分)答:Windows的API是Windows操作系統(tǒng)的應(yīng)用程序接口。(3分)Windows的API的英文全稱是Windows Application Programming Interface.(2分)3. Windows應(yīng)用程序可以使用哪些資源?資源的主要作用有哪些?(5分)答:Windowss應(yīng)用程序可以使用:加速鍵,位圖,光標,對話框,菜單,工具條,字符串等。在Windows的可執(zhí)行文件中,資源是獨立于代碼的,使用單獨的Resource Compiler來進行編譯,并嵌入到可執(zhí)行文件中,在編程過程中,代碼是可復(fù)用的,通過資源的導(dǎo)入導(dǎo)出功能來實現(xiàn)資源的可復(fù)用。另外,程序的國際化,也是通過資源來實現(xiàn)的。4. 什么是句柄?句柄有哪些作用?(5分)答:句柄是一個32位無符號整數(shù)。它是WINDOWS用來標識被應(yīng)用程序所建立或使用的對象的唯一整數(shù),WINDOWS使用各種各樣的句柄標識諸如應(yīng)用程序?qū)嵗?,窗口,菜單,位圖,GDI對象等。常用的句柄類型有: HINSTANCE (運行實例句柄)、 HWND (窗口句柄)、 HMENU(菜單句柄)、HBITMAP(位圖句柄)、HPEN(畫筆句柄)、HBRUSH(畫刷句柄)等。通過句柄可以獲得相應(yīng)的對象信息。在Windows中,句柄(Handle)并非對象的指針,它是系統(tǒng)內(nèi)部表的索引值。這樣能避免應(yīng)用程序直接與對象的內(nèi)存地址打交道。5. 什么是圖形設(shè)備接口GDI?(5分)答:Windows圖形設(shè)備接口(GDI)的英文全稱是Graphics Device Interface,是為與設(shè)備無關(guān)的圖形設(shè)計的,GDI處于設(shè)備驅(qū)動程序的上一層,是Windows的重要組成部分。它負責(zé)管理用戶繪圖操作時功能的轉(zhuǎn)換。Windows 通過GDI函數(shù)為應(yīng)用程序提供服務(wù)。用戶通過調(diào)用GDI函數(shù)繪制不同尺寸、顏色、風(fēng)格的幾何圖形、文本和位圖。GDI通過不同設(shè)備提供的驅(qū)動程序?qū)⒗L圖語句轉(zhuǎn)換為對應(yīng)的繪圖指令,避免了應(yīng)用程序直接對硬件進行操作,從而實現(xiàn)所謂的設(shè)備無關(guān)性。6. Winsows編程中MFC表示什么?請你寫出它的英文全稱。(5分)答:Winsows編程中MFC表示微軟基礎(chǔ)類庫,它的英文全稱是Microsoft Foundation Class.7. 什么是一個Visual C+ Project(項目或者譯為工程)?(5分)答:在Visual C+ IDE中,把實現(xiàn)程序設(shè)計功能的一組相互關(guān)聯(lián)的C+源文件、資源文件以及支撐這些文件的類的集合稱為一個項目。Visual C+ IDE以項目作為程序開發(fā)的基本單位,項目用于管理組成應(yīng)用程序的所有元素,并由它生成應(yīng)用程序。項目用項目文件DSP(Developer Studio Project)來描述,文件名后綴為.dsp。項目文件保存了項目中所用到的源代碼文件和資源文件的信息,如文件名和路徑。同時,項目文件還保存了項目的編譯設(shè)置等信息,如調(diào)試版(Debug)或發(fā)布版(Release)。8. 何謂應(yīng)用程序框架?(5分)答:同一類型應(yīng)用程序的結(jié)構(gòu)大致相同,并有很多相同的源代碼,因此可以通過一個應(yīng)用程序框架AFX(Application FrameWorks)編寫同一類型應(yīng)用程序的通用源代碼。MFC應(yīng)用程序框架將那些每個應(yīng)用程序都共同需要使用的代碼封裝起來,如完成默認的程序初始化功能、建立應(yīng)用程序界面和處理基本的Windows消息,使程序員不必做這些重復(fù)的工作,把精力放在實質(zhì)性代碼的編寫上。9. 在開發(fā)Windows應(yīng)用程序時使用Device Context(設(shè)備環(huán)境或者譯為設(shè)備上下文)有什么好處?(5分)答:設(shè)備環(huán)境(Device Context設(shè)備上下文)是設(shè)備無關(guān)的,是設(shè)備的抽象。通過使用設(shè)備環(huán)境(Device Context設(shè)備上下文),程序員在編程時不用關(guān)心設(shè)備的類型。(2分) 圖形在不同的設(shè)備上輸出都需要經(jīng)過轉(zhuǎn)換,由于有了設(shè)備環(huán)境(Device Context設(shè)備上下文),這個具體轉(zhuǎn)換過程由操作系統(tǒng)去實現(xiàn), 這樣就大大地降低了應(yīng)用程序設(shè)計的復(fù)雜性,提高了應(yīng)用程序的通用性和應(yīng)用程序開發(fā)的效率。(3分)10. Windows系統(tǒng)提供的標準控件有哪些?(5分)答:靜態(tài)控件,按鈕控件,編輯框控件,列表框控件,組合框控件,滾動條控件。二、簡要回答下列問題:1. 請你簡要描述Windows程序的事件驅(qū)動程序模型。(10分)答:事件驅(qū)動程序設(shè)計是一種全新的程序設(shè)計方法,它不是由事件的順序來控制,而是由事件的發(fā)生來控制,而這種事件的發(fā)生是隨機的、不確定的,并沒有預(yù)定的順序,這樣就允許程序的用戶用各種合理的順序來安排程序的流程。(3分)對于需要用戶交互的應(yīng)用程序來說,事件驅(qū)動的程序設(shè)計有著過程驅(qū)動方法無法替代的優(yōu)點。它是一種面向用戶的程序設(shè)計方法,它在程序設(shè)計過程中除了完成所需功能之外,更多的考慮了用戶可能的各種輸入,并針對性的設(shè)計相應(yīng)的處理程序。它是一種“被動”式程序設(shè)計方法,程序開始運行時,處于等待用戶輸入事件狀態(tài),然后取得事件并作出相應(yīng)反應(yīng),處理完畢又返回并處于等待事件狀態(tài)。(3分)它的框圖如圖所示: (圖形4分)在圖中,輸入界面1-3并沒有固定的順序,用戶可以隨機選取,以任何合理的順序來輸入數(shù)據(jù)。2. Winsows編程中常用的消息有哪些?應(yīng)用程序如何響應(yīng)鍵盤消息?(10分)答:Windows應(yīng)用程序的運行需要依靠外部發(fā)生的事件來驅(qū)動,描述事件發(fā)生的信息稱為消息(message)。例如,當用戶按下鍵盤的某個鍵時,系統(tǒng)就會產(chǎn)生一條特定的消息,標識鍵盤被按下事件的發(fā)生。Windows中常用的消息有:窗口管理消息、初始化消息、輸入消息、系統(tǒng)消息、剪切板消息、控件處理消息、控件通知消息、滾動條通知消息、非用戶區(qū)消息、MDI(多文檔見面)消息、DDE(動態(tài)數(shù)據(jù)交換)消息,以及應(yīng)用程序自定義的消息等。因為一般的PC只有一個鍵盤,所以所有運行中的WINDOWS程序必須共用它。WINDOWS 將負責(zé)把擊鍵消息送到具有輸入焦點的那個應(yīng)用程序的消息隊列中去。盡管屏幕上可能同時有幾個應(yīng)用程序窗口,但一個時刻僅有一個窗口有輸入焦點。有輸入焦點的那個應(yīng)用程序的標題條是高亮度顯示的。當用戶按下一個鍵時,WINDOWS就會發(fā)送一個鍵盤輸入消息給有輸入焦點的那個應(yīng)用程序,應(yīng)用程序會根據(jù)輸入消息執(zhí)行相應(yīng)的任務(wù)。Windows操作系統(tǒng)產(chǎn)生和傳遞鍵盤消息的過程如下:1) 當用戶按下某個鍵時,鍵盤會檢測到這個動作,并通過鍵盤控制器把掃描碼(scan code)傳送給Windows的鍵盤驅(qū)動程序。(鍵盤上的每一個鍵都對應(yīng)一個唯一的標識值,我們稱之為掃描碼。鍵盤掃描碼與具體的硬件有關(guān)的,不同廠商對同一個鍵的掃描碼有可能不同。)2) 鍵盤驅(qū)動程序把這個掃描碼轉(zhuǎn)換為鍵盤虛擬碼,(虛擬碼與具體硬件無關(guān),不同廠商的鍵盤,同一個鍵的虛擬碼都是相同的。)然后,鍵盤驅(qū)動程序把該鍵盤操作的掃描碼和虛擬碼以及其它信息傳遞給操作系統(tǒng)。3) Windows操作系統(tǒng)的用戶模塊將獲得的按鍵信息封裝在一個鍵盤消息中,并把該鍵盤消息發(fā)送到應(yīng)用程序的消息列隊中。4) 應(yīng)用程序接收到消息后,將對消息進行轉(zhuǎn)換并處理。3. 請你簡述應(yīng)用程序類、框架類、文檔類和視圖類的主要功能。(10分)答:應(yīng)用程序類CWinApp負責(zé)一個且唯一的一個應(yīng)用程序?qū)ο蟮膭?chuàng)建、初始化、運行和退出清理過程。(3分)框架窗口類CframeWnd負責(zé)顯示和搜索用戶命令, 例如:響應(yīng)標準的窗口消息。(3分)視圖類Cview負責(zé)為文檔提供一個或者多個視圖。(2分)文檔類Cdocument負責(zé)裝載和維護文檔。(2分)4. 什么是文檔/視圖結(jié)構(gòu)?請你以單文檔應(yīng)用程序為例談?wù)勀銓ξ臋n/視圖框架的理解?(10分)答:目前常用的Windows應(yīng)用程序中,很多是以文檔、視圖結(jié)構(gòu)為基礎(chǔ)的。該體系結(jié)構(gòu)的基本思想是將數(shù)據(jù)的管理和顯示分開。這樣做可以使軟件組件的分工更加明確,形成更好的模塊化軟件。利用AppWizard生成單文檔和多文檔程序框架時,它所創(chuàng)建的應(yīng)用程序類、框架窗口類、文檔模板類、視圖類、文檔類等構(gòu)成一個相互關(guān)聯(lián)的結(jié)構(gòu),我們稱此結(jié)構(gòu)為文檔/視圖結(jié)構(gòu)。下圖是一個典型的SDI文檔/視圖結(jié)構(gòu)的示意圖。由應(yīng)用程序類CWinApp實例化的一個應(yīng)用程序?qū)ο筘撠?zé)應(yīng)用程序的初始化,創(chuàng)建文檔模板類對象,接收Windows消息,維護消息循環(huán)并將消息發(fā)送到目標窗口。文檔模板類對象負責(zé)保持文檔、視圖、框架窗口類對象之間的關(guān)系??蚣艽翱陬怌frameWnd對象提供了一個應(yīng)用程序的主窗口,通常該窗口包含了一個最大最小化按鈕、標題欄工具條和狀態(tài)條的創(chuàng)建、初始化和銷毀。文檔類對象負責(zé)對數(shù)據(jù)進行管理和維護,數(shù)據(jù)通常保存在文檔類的成員變量中。視圖類對象負責(zé)為文檔提供一個或者多個視圖。在文檔和用戶之間起中介作用。視圖可以直接或間接的訪問文檔類中的成員變量,它從文檔類中(而不是從存儲介質(zhì)中)將文檔中的數(shù)據(jù)取出來,然后在屏幕上顯示文檔的數(shù)據(jù)。每個文檔可以有多個視圖,但是每個視圖只能對應(yīng)一個確定的文檔。5. 請你談?wù)剬FC中消息映射的理解。(10分)答:眾所周知,Windows是基于消息驅(qū)動的,作好消息處理是Windows編程的關(guān)鍵任務(wù)之一,在MFC中消息是通過一種所謂的消息映射機制來處理的。應(yīng)用程序框架使用消息映射(message map)來連接消息和對應(yīng)的消息處理函數(shù)。消息映射本質(zhì)上就是一個數(shù)組,應(yīng)用程序框架使用該數(shù)組來確定消息傳遞時具體要傳遞給哪個對象,由哪個消息處理函數(shù)來處理。這樣的好處是可以避免像早期的SDK編程一樣需要羅列一大堆的case語句來處理各種消息。例如:BEGIN_MESSAGE_MAP(CDrawCoi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年初高中藝術(shù)課程考試試題及答案
- 2025年信息系統(tǒng)管理專業(yè)考試題及答案
- 2025年影視制作管理師考試試卷及答案講解
- 2025年消防員上崗考試試題及答案
- 2025年傳媒與新聞專業(yè)綜合考試試題及答案
- 游戲開發(fā)工程師團隊協(xié)作合同
- 環(huán)保物流車隊承包合作協(xié)議
- 影視行業(yè)群眾演員選拔與合同執(zhí)行標準合同
- 旅游意外險附加疾病預(yù)防與治療協(xié)議
- 環(huán)保項目廢氣數(shù)據(jù)補充與環(huán)保設(shè)施改造協(xié)議
- 機電一體化??飘厴I(yè)論文范文
- 《管理學(xué)基礎(chǔ)》課程標準(含課程思政)
- 2025年春新北師大版數(shù)學(xué)七年級下冊課件 第四章 三角形 問題解決策略:特殊化
- 大學(xué)語文知到智慧樹章節(jié)測試課后答案2024年秋南昌大學(xué)
- 不良行為學(xué)生教育轉(zhuǎn)化工作實施方案例文(6篇)
- 【MOOC】現(xiàn)代教育技術(shù)-淮陰師范學(xué)院 中國大學(xué)慕課MOOC答案
- 產(chǎn)品方案設(shè)計模板
- 2023年山東省濟南市中考語文試卷
- 人民大2023張占錄-張正峰-國土空間規(guī)劃學(xué)課件第2章-國土空間規(guī)劃原理
- 一起干活安全協(xié)議書
- 從心理學(xué)角度談醫(yī)患溝通
評論
0/150
提交評論