版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
indows程序設(shè)計》模擬題單項選擇題在VC+十中項目文件得擴展名就是(B)。A)exe???⑹dspC)dsw???D)cpp在MFC中,利用ClassWizard不能(D)。A)建立新類??B)進(jìn)行消息映射C)增加類得成員變量?D)插入資源3、當(dāng)滑塊滑動時,滑塊條控件將發(fā)送滾動消息來通知父窗口,垂直滑動條發(fā)送(C)消息。A)WM_CHAR??B)WM_HSCROLLA)WM_CHAR??B)WM_HSCROLLWM_VSCROLL???4WM_VSCROLL???4更新菜單狀態(tài)得消息就是(A)WM—MANDC)UPDATE_MAND_WM_CHANGEC)。B)UPDATEUID)INVALIDATE5、對于消息隊列描述正確得就是(D)A)在Windows中只有一個消息系統(tǒng),即系統(tǒng)消息隊列。消息隊列就是一個系統(tǒng)定義得數(shù)據(jù)結(jié)構(gòu),用于臨時存儲消息。B)系統(tǒng)可從消息隊列將信息直接發(fā)給窗口。另外,每個正在Windows下運行得應(yīng)用程序都有自己得消息隊列。系統(tǒng)消息隊列中得每個消息最終都要被USER模塊傳送到應(yīng)用程序得消息隊列中去。應(yīng)用程序得消息對列中存儲了程序得所有窗口得全部消息.以上都正確6在MFC中,所有得控件都就是(B)類得派生類,都可以作為一個特殊得窗口來處理。A)CView??B)CWndC)CWindow???D)CDialog7、使用GetDC()獲取得設(shè)備上下文在退出時,必須調(diào)用(A)釋放設(shè)備上下文A)ReleaseDC()???B)delete()C)DeleteDC()??D)Detach()8、希望菜單無效,應(yīng)該用CCmdUI類得(A)成員函數(shù)。A)Enable????B)SetRadioC)SetCheck???D)SetText9、希望菜單前出現(xiàn)一個“",應(yīng)該用CCmdUI類得(C)成員函數(shù)A)Enable???B)SetRadioC)SetCheck??D)SetText10、下面(A)不就是MFC設(shè)備環(huán)境類CDC類得派生類A)GDI????B)CPaintDCC)CClientDC??D)CWindowDC在MFC中,所有得文檔類都派生于(C),所有得視圖類都派生于(A)。A)CViewB)CWindowC)CDocumentD)CFormView采用C++進(jìn)行繪圖時,(B)用于指定圖形得填充樣式,(A)用于指定圖形得邊框樣式.A)畫筆B)畫刷C)區(qū)域D)位圖(C)包括鍵盤與鼠標(biāo)得輸入。這一類消息首先放在系統(tǒng)消息隊列中,然后由Windows將它們送入應(yīng)用程序消息隊列中,由程序來處理消息。A)系統(tǒng)消息??B)用戶消息C)輸入消息??D)控制消息項目文件得擴展名就是(B)。A)exeB)dspC)dswD)cpp在MFC中,文檔負(fù)責(zé)將數(shù)據(jù)存儲到永久存儲介質(zhì)中,通常就是磁盤文件或數(shù)據(jù)庫,存取過程稱為(B)。?A)文件訪問B)串行化C)文件讀寫D)格式化16、在VC++6、0在編程環(huán)境中,運行程序得快捷鍵就是(A)。A)Ctrl+F5?B)F7C)Ctrl+F7D)F517、在VC++6、0在編程環(huán)境中,設(shè)置與取消斷點得快捷鍵都就是(A)。A)F9?B)F5C)Fil??D)Fl018、在MFC中,在編輯某菜單項時,若要指明該菜單項就是一個彈出式子菜單,必須選擇屬性對話框中得(B)。A)Separator?B)Pop—upC)Inactive??D)Grayed使用GetWindowDC()與GetDC()獲取得設(shè)備上下文在退出時,必須調(diào)用(C)釋放設(shè)備上下文。A)DeleteDC()B)delete()C)ReleaseDC()D)Detach()在MFC中,(B)代表窗口客戶區(qū)得顯示設(shè)備上下文,(C)代表整個窗口得顯示設(shè)備上下文。A)CPaintDCB)CClientDCC)CWindowDCD)CMetaFileDC21、對話框得功能被封裝在(B)類中。A)CWnd???B)CDia1ogC)CObject??D)CCmdTarget22、(C)包括鍵盤與鼠標(biāo)得輸入。這一類消息首先放在系統(tǒng)消息隊列中,然后由Windows將它們送入應(yīng)用程序消息隊列中,由程序來處理消息;(D)用來與Windows得控制對象,如列表框、按鈕、復(fù)選框等進(jìn)行雙向通信。當(dāng)用戶在列表框中改動當(dāng)前選擇或改變了復(fù)選框得狀態(tài)時發(fā)出此類消息.A)系統(tǒng)消息B)用戶消息C)輸入消息D)控制消息23、生成1個只具有確定與取消按鈕得消息框,其參數(shù)為(C).?A)MB_OKB)MB_YESNOC)?MB_OKCANCELD)MB_RETRYCANCEL24、在Windows程序設(shè)計中如果加入了滾動條。設(shè)置滾動條得范圍使用(C)函數(shù),設(shè)置滾動條得位置使用(E)函數(shù),獲得滾動塊得當(dāng)前位置使用(F)函數(shù)。A)SetPos()???B)SetRange。C)SetScrollRange()?D)GetPos()E)SetScr011Pos()??F)GetScr011Pos()G)GetScrollRange()25、消息循環(huán)得處理過程如下:(A)函數(shù)不斷偵察應(yīng)用程序得消息隊列,若隊列為空,該函數(shù)一直運彳T,不返回;一旦發(fā)現(xiàn)隊列不為空,便取出一條消息,把它拷貝到msg結(jié)構(gòu)變量中,同日^該函數(shù)返回TRUE;得到消息msg后,(B)把來自鍵盤得命令翻譯成WM_XXX消息命令形式.(E)函數(shù)通知Windows把每個消息分發(fā)給相應(yīng)得窗口函數(shù).應(yīng)用程序并不直接調(diào)用窗口函數(shù),而由,窗口函數(shù)經(jīng)常被稱為回調(diào)函數(shù)Windows,窗口函數(shù)經(jīng)常被稱為回調(diào)函數(shù)A)GetMessage()B)translateMessage()C)PostMessage()D)SendMessage()E)DispatchMessage()26、?如果要嚴(yán)格按照匈牙利命名法命名1個局部窗口句柄,以下變量命名正確得就是(B).A)g_hWndB)m_hWndC)g_pWndD)m_pWnd27、堂Windows編程約定中,應(yīng)用程序接口得英文縮寫就是(A).A)APIB)SDIC)GDID)MDI28、在Windows編程約定中,軟件開發(fā)包得英文縮寫就是(C).A)APIB)SDIC)SDKD)MDI29、率Windows編程約定中,圖像設(shè)備接口得英文縮寫就是(C)。A)APIB)?SDIC)GDID)?MDI30、以下對應(yīng)于unsignedlong得數(shù)據(jù)類型為:(B)A)WORDB)DWORDC)INTD)BYTE31、7r列選項中,不屬于匈牙利命名法屬性部分得就是(D)。A)?g_B)m_C)c_D)d_32、如果要嚴(yán)格按照匈牙利命名法命名1個全局窗口句柄,以下變量命名正確得就是(A).A)g_hWndB)m_hWndC)?g_pWndD)?m_pWnd33、下列Windows數(shù)據(jù)格式中,代表設(shè)備句柄得就是(B).A)HWNDB)HDCC)?HINSTANCED)HFONT?34、”在一個窗口得正常運行得Windows程序中,把主窗口創(chuàng)建語句做如下改動:hWnd=CreateWindow(NULL,szTitle,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);則下列說法正確得就是(C)。”A)?程序仍然正常運行,與改動前相比沒有變化B)?程序出現(xiàn)編譯錯誤C)卷序編譯通過,但沒有窗口顯示D)?程序正常運行,窗口標(biāo)題變?yōu)镹ULL35、典型得Windows窗口程序得流程為:(A)A)注冊窗口類-建創(chuàng)建窗口一〉顯示窗口—>更新窗口一>消息循環(huán)B)電【J建窗口->注冊窗口類,顯示窗口->更新窗口一>消息循環(huán)C)?口建窗口一〉注冊窗口類->顯示窗口一〉更新窗口一〉消息循環(huán)D)?注冊窗口類->創(chuàng)建窗口-〉更更窗口-〉顯示窗口-〉消息循環(huán)36、菜單編輯器中,如果要設(shè)置某個項為分隔線,那么這個項得哪個屬性為true.(D)A)VisibleB)GrayedC)?EnableD)Separator37、在Windows消息機制中,菜單消息類型就是:(B)A)WM_PAINTB)?WM_MANDC)WM_CREATED)?WM_CLOSE38、在Windows編程中,代表鍵盤得“T"鍵得虛擬鍵值就是(A)。A)VK_UPB)?WM_KEYDOWNC)WM_KEYUPD)?VK_DOWN39、率Windows編程中,響應(yīng)鍵盤按鍵按下消息得Windows消息就是(B)。A)VK_UPB)?WM_KEYDOWNC)?WM_KEYUPD)?VK_DOWN40、在Windows編程中,按下鍵盤得“A"鍵后,返回得Windows消息就是(B).A)VK_AB)?WM_KEYDOWNC)AD)DIK_A41、在Windows編程中,按下鼠標(biāo)左鍵產(chǎn)生得Windows消息就是(B)。A)WM_KEYDOWNB)WM_LBUTTONDOWNC)?WM_LEFTD)WM_RBUTTONDOWN下列哪個縮寫就是微軟提供得C++語言得幫助庫?(B)A)MFCB)MSDNC)APID)SDK43、額indows編程中,定時器消息就是(B)A)WM_TIMEB)WM_TIMERC)?WM_ON_TIMED)WM_MAND44、GDI環(huán)境中,窗口得坐標(biāo)系就是如何構(gòu)成得?(D)A)左上角為原點,x軸正方向為水平向右,y軸正方向為豎直朝上B)?中間為原點,x軸正方向為水平向右,y軸正方向為豎直朝上C)注下角為原點,x軸正方向為水平向右,y軸正方向為豎直朝下D)左上角為原點,x軸正方向為水平向右,y軸正方向為豎直向下45、以下選項中,GDI不能支持得就是:(B)?A)位圖B)Flash動畫C)咕線與曲線D)文字46、設(shè)備環(huán)境DC得全稱為:?(B)A)DeviceContentB)DeviceContextsC)?DeviceConfigD)?DeviceConter47、?nvalidateRect得作用就是?(B)A)?刪除一個矩形B)使一個矩行區(qū)域變?yōu)闊o效,從而可以重繪C)使一個矩形區(qū)域變?yōu)闊o效,從而釋放部分GDI資源D)擦除一個矩形區(qū)域TOC\o"1-5"\h\z48、?”已知窗口為缺省狀態(tài),有如下代碼:HDChdc=GetDC(hWnd);HPENhpen=CreatePen(1,1,RGB(255,0,0));Se1ectObject(hdc,hpen);Ellipse(hdc,050,50,200,200);則這段代碼得執(zhí)行效果就是(B)?!盇)?繪制1個黑色得橢圓形邊框,無填充顏色B)薇制1個紅色得橢圓形邊框,無填充顏色繪制1個黑色得橢圓形,填充為黑色,無邊框D)繪制1個紅色得橢圓形,填充為紅色,無邊框49、”已知有如下代碼:HDChDC=GetDC(hWnd);LineTo(hDC,100,100);則這段代碼得執(zhí)行效果就是(A)."?A)?從窗口得左上角至坐標(biāo)(100,100)繪制1條直線B)?沒有繪制任何圖形C)從窗口得任意一點開始至坐標(biāo)(100,100)繪制1條直線從鼠標(biāo)在窗口得位置至坐標(biāo)(100,100)繪制一條直線50、科下函數(shù)中不受畫刷影響得函數(shù)就是:(C)A)?RectangleB)EllipseC)ZineToD)Po1ygon51、依口果要創(chuàng)建一個宋體字體,那么字體描述中哪個屬性為“宋體"?(C)A)?fCharSetB)1fQua1ityC)?fFaceNameD)1fStrikcOut52、堂Windows編程約定中,位圖句柄為(B)。A)7HGDIB)HBITMAPHDCD)HPEN53、下面哪個步驟能實現(xiàn)透明貼圖(模板位圖為單色得1位位圖)?(A)?A)位圖與背景像素作異或操作->使用模板位圖作與操作一>原位圖與背景作異或操作B)使用模板位圖作與操作->原位圖與背景作異或操作->位圖與背景像素作異或操作C)位圖與背景像素作異或操作-〉原位圖與背景作異或操作-〉使用模板位圖作與操作?異圖與背景作異或操作一>位圖與背景像素作異或操作一>使用模板位圖作與操作54、位BitBlt函數(shù)中進(jìn)行光柵化處理方式中,哪1個值說明就是要進(jìn)行或運算??(D)A)SRCANDB)SRCCOPYC)SRCINVERTD)SRCPAINT55、兩態(tài)鏈接庫文件得后綴名為(B)。?A)?ibB)dllC)exeD)obj二.多選題1、已知嚴(yán)格按照匈牙利命名法命名得變量m_pTemp,則以下說法正確得就是(BC).A)該變量就是1個全局變量B)?亥變量就是1個類成員變量C)?亥變量就是1個指針變量D)該變量一定就是1個私有變量2?r列哪種情況下系統(tǒng)可能向窗口發(fā)送WM_PAINT消息?(ABCD)A)?1口最初創(chuàng)建時B)窗口移動后部分區(qū)域由不可見變?yōu)榭梢奀)窗口大小改變后D)觸動條滾動后■注冊窗口類中,不需要進(jìn)行得操作就是(BC).A)徽入圖標(biāo)B)?確定窗口大小C)?確定窗口標(biāo)題D)確定窗口類名稱關(guān)于PeekMessage與GetMessage得說法正確得就是(AB)PeekMessage立即返回?GetMessage將會等待消息到來PeekMessage等待消息到來GetMessage立即返回關(guān)于動態(tài)菜單,以下說法正確得就是(BD).A)函數(shù)LoadMenu可以彈出菜單B)函數(shù)CreatMenu用于建立空菜單C)?!數(shù)DeleteMenu用于刪除整個菜單D)?l數(shù)InsertMenu用于在菜單中插入1個菜單項以下關(guān)于Windows得鼠標(biāo)消息,說法正確得就是(BD)。A)鼠標(biāo)得按鍵消息種類可以從wParam中得到B)鼠標(biāo)得按鍵消息種類可以從message中得到C)鼠標(biāo)得位置信息可以從wParam中得到D)鼠標(biāo)得位置信息可以從1Param中得到7、婦知語句SetTimer(NULL,1,100,NULL),則以下說法正確得就是(AD).A)設(shè)置了一個定時器,該定時器不能正常起作用B)歿置一個定時器,能夠正常起作用C)被置了一個定時器,時間間隔為1秒
D)被置了一個定時器,時間間隔為100毫秒下列選項中屬于WindowsGDI資源得就是(ABC).A)位圖B)?畫筆C)存體D)?!口9、能用于繪制直線得函數(shù)為:(AB)A)LineToB)?Po1ylineC)ArcD)PolyBezier10、畫筆得線型包括:(ABD)A)實線A)實線 B)?K劃線11、 創(chuàng)建畫刷得函數(shù)有:A)?CreateHatchBrushC)?CreatePatternBrushC)波浪線D)牖線?(ABC)B)?CreateSolidBrushD)?CreateLogicBrush?12、在Windows消息機制中,消息系統(tǒng)3大關(guān)鍵要素就是(ABC)。A)?肖息隊列B)0肖息循環(huán)C)消息處理函數(shù)D)消息映射.下列哪種情況下系統(tǒng)可能向窗口發(fā)送WM_PINT消息?(BCD)A)窗口最初創(chuàng)建時B)窗口移動后部分區(qū)域由不可見變?yōu)榭梢奀)窗口大小改變后D)滾動條滾動后.匈牙利表示法得變量一般分為哪幾個部分?(ABQA)屬性(例如g_)B)類型C)描述D)后綴15。下列選項中,可以用Windows句柄標(biāo)識得有(ABD)。A)窗口B)文件C)消息D)字體16.關(guān)于Windows句柄,下列說法正確得就是(AD)。A)每個運行著得Wddows程序都有對應(yīng)得Windows實例句柄B)同1個Wind。ws程序打開多次時,對應(yīng)同1個實例句柄C)1個Windows實例句柄只能對應(yīng)1個窗口句柄D)1個Windows實例句柄可以對應(yīng)多個窗口句柄三、名詞解釋1、事件:可能觸發(fā)計算機程序做出相應(yīng)反應(yīng)得刺激2、句柄:為了區(qū)別于普通變量得標(biāo)識,Wind。ws把這種復(fù)雜對象得標(biāo)識叫做句柄3、消息:為了描述事件得各種信息(例如何時何地發(fā)生了何種事件等),Windows定義了一個結(jié)構(gòu),這個結(jié)構(gòu)就叫做"消息”4、Windows得API函數(shù):由操作系統(tǒng)提供得,用戶可以使用得函數(shù)就叫做API5、WindowsSDK程序:使用軟件開發(fā)工具包開發(fā)出來得Windows應(yīng)用程序6、資源:資源就就是一種可供W1ndows應(yīng)用程序利用,可單獨編輯,并可動態(tài)加載得數(shù)據(jù)7、圖象設(shè)備接口(GDI):Windows把用于改變DC屬性得操作,即與繪圖相關(guān)得操作都制作成函數(shù),這些函數(shù)得集合就叫做圖形設(shè)備接口8、CDC類:在面向?qū)ο蟪绦蛟O(shè)計思想中,把DC與GDI函數(shù)封裝到一起形成CDC類?“回調(diào)函數(shù)”效顯示區(qū):在有效提高拆分窗口顯示更新效率得方法中,程序只重繪必須重繪得區(qū)域9、回調(diào)函數(shù):系統(tǒng)調(diào)用用戶編寫得函數(shù)過程叫做“回調(diào)”“回調(diào)函數(shù)”效顯示區(qū):在有效提高拆分窗口顯示更新效率得方法中,程序只重繪必須重繪得區(qū)域10、11、控件:Windows設(shè)計了一些具有圖形外觀得程序?qū)嶓w,這些程序?qū)嶓w在鼠標(biāo)或鍵盤得作用下會使程序出現(xiàn)不同得響應(yīng),這些可以接收或者產(chǎn)生事件得程序?qū)嶓w就叫做控件12、類信息表:MFC程序在不同得場合下還經(jīng)常用到類得其她信息,于就是MFC就把這些信息統(tǒng)統(tǒng)都放在映射表項中,并把它叫做類消息表13、消息循環(huán):while(GetMessage(&msg,NULL,NULL,NULL)){TranslateMessage(&msg);DispatchMessage(&msg);}四。填空題在MFC中,用戶可以通過項目工作區(qū)窗口得ResourceView視圖來查瞧資源。一個單文檔得MFC應(yīng)用程序框架一般包括5個類:應(yīng)用程序類、框架窗口類、視圖類、文檔類與文檔模板類.Windows就是一個基于消息得消息驅(qū)動系統(tǒng)^4、項目工作區(qū)文件得擴展名就是dsw。5、MessageBox函數(shù)彈出一個小得對話框向用戶顯示短信息,并將用戶最終得選擇返回給調(diào)用者.6、在通常#況下,視圖派生類得成員函數(shù)中通過調(diào)用GetDocument函數(shù)得到當(dāng)前文檔對象得指針。Windows程序中得消息有窗口消息、命令消息與控件通知消息三種類型。TOC\o"1-5"\h\zMFC中得集合類包括數(shù)組、列表(鏈表)、映射(順序可變).9、在進(jìn)行繪圖時,畫刷用于指定圖形得填充樣式,畫筆用于指定圖形得邊框樣式。10、用戶按下鍵盤按鍵并放開得過程中,將產(chǎn)生至少三條消息:WM_KEYDOWN,WM_CHAR,WM_KEYUP。11、WindowsAPI中API得中文譯文就是應(yīng)用程序接口。12、MFC導(dǎo)中文譯文就是微軟基礎(chǔ)類庫.13、GDI得中文譯文就是圖形設(shè)備接口。14、恨局函數(shù)AfxGetApp()可以彳#到CV\AnApp應(yīng)用類指針.15、MFC中可自動重繪得繪圖代碼一般位于項目得視圖類得OnDraw()函數(shù)中。16、在視圖中,GetDocument()函數(shù)可得到對應(yīng)得文檔對象指針。7、在文檔中,GetFirstviewPosition()與GetNextview()配合可用來遍歷所有與文檔關(guān)聯(lián)得視圖。TOC\o"1-5"\h\z18、在MFC4\用CRect類來描述一個矩形區(qū)域得大小。19、在任何時刻設(shè)備環(huán)境中必須有一支畫筆,并且只能有一支.因此在使用自己定義得畫筆時,要使用CDC得函數(shù)把默認(rèn)畫筆替換為自己定義得畫筆,這個函數(shù)就是Se1ectObject()。20、MFC得缺省得映射模式就是MMTEXT,對應(yīng)得單位為像素。21、在視圖類中為了訪問與視圖關(guān)聯(lián)得文檔對象中數(shù)據(jù),應(yīng)該先調(diào)用GetDocument()函數(shù)得到相關(guān)聯(lián)文檔對象指針。22、利用MFCAppWizard可以生成SDI界面、MDI界面與基于對話框界面得程序。3、在框架窗口中,GetActiveDocument()函數(shù)可得到當(dāng)前活動文檔指針,GetActiveView()函數(shù)可得到當(dāng)前活動視指針。24.MFC對話框類得基類就是CDialog,用戶自定義對話框類都就是從它派生而來.25.Windows系統(tǒng)就是一個消息響應(yīng)事件驅(qū)動得操作系統(tǒng),消息就是應(yīng)用程序與操作系統(tǒng)交互得手段。26、GetMessage()被用來從消息隊列獲取消息,27、函數(shù)Trans1ateMessage()用來把鍵盤消息轉(zhuǎn)換為字符消息,函數(shù)DispatchMessage()用來向系統(tǒng)派送消息。五、選擇填空題(每空1分,共15分)1、_B—代表窗口客戶區(qū)得顯示設(shè)備上下文,—C—代表整個窗口得顯示設(shè)備上下文。A、CPaintDCB、CClientDCC、CWindowDCDCMstaFileDC2、消息循環(huán)得處理過程如下:A_函數(shù)不斷偵察應(yīng)用程序得消息隊列,若隊列為空,該函數(shù)一直運行,不返回;一旦發(fā)現(xiàn)隊列不為空,便取出一條消息,把它拷貝到msg結(jié)構(gòu)變量中,同時該函數(shù)返回TRUE;得到消息msg后,B把來自鍵盤得命令翻譯成WM_XXX消息命令形式。E函數(shù)通知Windows把每個消息分發(fā)給相應(yīng)得窗口函數(shù)。應(yīng)用程序并不直接調(diào)用窗口函數(shù),而由Windows根據(jù)消息去調(diào)用窗口函數(shù),因此,窗口函數(shù)經(jīng)常被稱為回調(diào)函數(shù)。A、GctMessage()B、translatcMessage()C、PostMessage()D>SendMessagc()E、DispatchMessage()3、滾動條類CScr。llBar得成員函數(shù)規(guī)定了滾動條得操作。設(shè)置滾動條得范圍使用C函數(shù),設(shè)置滾動塊得位置使用E函數(shù),獲取滾動塊得當(dāng)前位置使用F函數(shù)。A、SctPosB、SetRangeC、SctScrollRangeD、GetPosE、SetScr011PosF、GetScr011PosG、GetScrollRange4、所有得文檔類都派生于_C—,所有得視圖類都派生于_A_OA、CViewRCWindowC、CDocumentD、CFormView5、C_包括鍵盤與鼠標(biāo)得輸入。這一類消息首先放在系統(tǒng)消息隊列中,然后由Wind。ws存百門送入應(yīng)用程序消息隊列中,由程序來處理消息;D用來與Windows得控制對象,如列表框、按鈕、復(fù)選框等進(jìn)行雙向通信。當(dāng)用戶在列表框中改動當(dāng)前選擇或改變了復(fù)選框得狀態(tài)時發(fā)出此類消息。A、系統(tǒng)消息B、用戶消息C、輸入消息D、控制消息6、使用B獲取得設(shè)備上下文在退出時,必須調(diào)用Re1easeDC()釋放設(shè)備上下文.A、GetWindowRect()B、GetDC()C、BeginPaint()D、GetC1ientRect()六。判斷題1、斯謂得WindowsAPI就就是獨立于C語言得一套全新得程序設(shè)計語言。(X)2、在Windows編程約定中,CHAR數(shù)據(jù)類型與TCHAR數(shù)據(jù)類型就是相同得。(X)3、狗牙利命名法就是所有程序都必須遵循得一個規(guī)則,變量得命名必須按照規(guī)則進(jìn)行。(X)在Windows編程約定中,代表窗口句柄得數(shù)據(jù)類型就是HWND。(,)在Windows編程中,使用窗口句柄來操作具體得窗口。(V)6、在Windows得消息結(jié)構(gòu)中,鍵盤得按鍵字符信息被保存在lParam中。(x)7、,Windows消息機制中,WM_TIMER消息表示創(chuàng)建了1個定時器。|(X)8、所有得Windows程序,其入口函數(shù)必須名為WinMain。(X)9、PostMessage與SendMessage得區(qū)別在于前者投遞消息到隊列,而后者直接調(diào)用消息響應(yīng)函數(shù).(V)10、在Windows編程中,AppendMenu可以在菜單得任意位置插入新得菜單項.(X)11、紙Windows編程中,菜單可以在資源視圖中設(shè)計,一旦載入程序,就不能再被更改。(X)12、率Windows編程中,鍵盤按鍵彈起時,會返回消息WM_KEYDOWN。(X)13、位Windows編程中,鼠標(biāo)消息中不包含任何鍵盤信息。(x)14、在Windows編程中,1個程序中只允許設(shè)置一個定時器。(X)15、徊筆顏色構(gòu)成就是0x00BBGGRR,其中B、G、R分別代表1位16進(jìn)制數(shù)表示藍(lán)、綠與紅色分量得大小。(V)16、對于GDI點陣字體與GDI筆劃字體,Windows都可以合成粗體、斜體、加底線與加刪除線,而不需要為每種屬性另外儲存字體。(V)17、下il1Rect中指定得畫刷就是用于畫矩形本身與邊框FrameRect中指定得畫刷就是用于畫矩形得邊框。(X)、Win32API可以直接讀取所有得圖像格式。(X).打開一個項目只需打開對應(yīng)得項目工作區(qū)文件。???(V).基于對話框得應(yīng)用程序,也有文檔類與視圖類。■???(X).所有得Windows應(yīng)用程序都就是消息驅(qū)動得。????(,).MAND(菜單消息類型)就是更新命令用戶接口消息。????(X).刪除CPen對象可調(diào)用CPen對象得De1eteObject函數(shù).??(x).CBrush就是GDI對象。?????(,).Windows應(yīng)用程序得入口也就是main函數(shù)。????(x)七.簡答題1。Window程應(yīng)用程序得主函數(shù)有哪三個主要任務(wù)答注冊窗口類、創(chuàng)建應(yīng)用程序得窗口與建立消息循環(huán)。2、運行程序后單擊鼠標(biāo)右鍵彈出對話框提示“您按下了鼠標(biāo)右鍵”對話框。簡要說明設(shè)計步驟.參考答案:(1)新建基于單文檔得應(yīng)用程序;(2)用類向?qū)в成涫髽?biāo)右鍵消息;(3)在消息函數(shù)中添加代碼:MesSagcBox(您按下了鼠標(biāo)右鍵”);3、、利用AppWizard生成默認(rèn)得SDI應(yīng)用程序My時,向?qū)ё詣由傻媚乃膫€類?及其相應(yīng)得功能。參考答案:CMainFrame(構(gòu)建應(yīng)用程序,顯示窗架)CMyApp(整個應(yīng)用程序)CMyDoc(管理數(shù)據(jù))CMyView(顯示數(shù)據(jù))4、創(chuàng)建窗口得五個步驟:參考答案:1)定義窗口2)注冊窗口3)創(chuàng)建窗口4)顯示窗口5)消息循環(huán)5。如何顯示與更新窗口?答:調(diào)用函數(shù)ShowWindowE示窗口,調(diào)用函數(shù)UpdatcWindows更新窗口..什么就是消息循環(huán)?答:在創(chuàng)建了窗口得應(yīng)用程序中,應(yīng)用程序?qū)⒉粩嗟貜南㈥犃兄蝎@取消息,并將消息指派給指定得窗口處理函數(shù)來處理,然后再回來從消息隊列獲取消息,這個不斷重復(fù)得工作過程叫做消息循環(huán)。.說明Windows應(yīng)用程序得主函數(shù)、窗口函數(shù)與Windows系統(tǒng)之間得關(guān)系。答:Windows應(yīng)用程序得主函數(shù)與窗口函數(shù)都就是系統(tǒng)調(diào)用得函數(shù),主函數(shù)就是在應(yīng)用程序啟動時由系統(tǒng)首先調(diào)用得函數(shù),而窗口函數(shù)就是主函數(shù)在消息循環(huán)中獲得消息并把消息派送給系統(tǒng)之后,由系統(tǒng)調(diào)用得用來處理消息得函數(shù).8。文檔類得成員函數(shù)UpdateAllViews得作用就是什么?答:通知文檔所對應(yīng)得所有窗口同時進(jìn)行重繪。9。MFC應(yīng)用程序得界面有哪三種方式?答:(1)單文檔界面;(2)多文檔界面;(3)基于對話框界面.10.WinMain()函數(shù)得工作。WinMain()函數(shù)就是Windows程序得入口點在WinMain中進(jìn)行注冊窗體類、建立窗體、顯示窗體、更新窗體、建立消息循環(huán)1.非MFC得Windows程序中,在WM_PAINT消息中怎樣獲得客戶區(qū)得設(shè)備環(huán)境句柄。與不就是WM_PAINT消息中怎樣獲得客戶區(qū)得設(shè)備環(huán)境句柄。BeginPaint———EndPaintGetDC——ReleaseDC(成對出現(xiàn))利用GetDC函數(shù)獲取設(shè)備環(huán)境句柄12。句柄得含義。句柄就是一個通常為32位得無符號整數(shù)(unsignedint),它代表一個內(nèi)核對象,就是內(nèi)核對象在應(yīng)用層得表示。13。在MM—TEXT映射模式下,什么情況下客戶坐標(biāo)與邏輯坐標(biāo)可能不同。當(dāng)窗口客戶區(qū)有滾動條時客戶坐標(biāo)與邏輯坐標(biāo)可能不同14.GetMessage()函數(shù)在什么情況下返回0從而導(dǎo)致消息循環(huán)終止程序結(jié)束。在接收到WM_QUIT消息時返回015.Windows中應(yīng)用程序得輸出就是怎樣進(jìn)行得^通過設(shè)備描述表DC(DeviceContext)來進(jìn)行應(yīng)用程序與物理設(shè)備之間得交互16.當(dāng)程序中某個函數(shù)改變了數(shù)據(jù)而需要重新繪制客戶區(qū)時WM_PAINT不會被自動調(diào)用這時需要怎樣間接調(diào)用它。使用InvalidateRect))調(diào)用17。鍵盤消息處理函數(shù)OnKeyDown(UINTnChar,UINTnRcpCnt,UINTnFlags)中得主要參數(shù)。參數(shù)UliNTnChar指按下按鍵彳#虛擬鍵碼;nRepCnt按鍵按下得次數(shù);nF1ags有沒有其她鍵同時被按下JOshift、ctrl、Alt18。DC中得SetROP2()得作用.設(shè)定繪圖模式19。擴展名為、rc得文件就是什么。資源文件20。GDI繪圖函數(shù)所使用得參數(shù)。GDI繪圖函數(shù)使用得邏輯坐標(biāo).當(dāng)用戶按下某個字母鍵時消息發(fā)生得順序。WM_KYDOWN>TranslateMessage()->WM_CHAR.常用得客戶區(qū)鼠標(biāo)消息有哪些答WMLBUTTONDBCLK雙擊鼠標(biāo)左鍵WMLBUTTONDOW帔下鼠標(biāo)左鍵WMLBUTTON!P釋放鼠標(biāo)左鍵WM_MOSEMOVE移動鼠標(biāo)WM_RBUTTONDBCLKZ擊鼠標(biāo)右鍵WM_RBJTTONDWN按下鼠標(biāo)右鍵WM_BUTTONU薜放鼠標(biāo)右鍵23.什么樣得窗口才能接收鍵盤消息答在Wndows中有時會同時打開多個窗口.在這些窗口中只有一個就是活動窗口這個窗口一般就是屏幕上位置最靠前得窗口它得特征就是其標(biāo)題欄被點亮得而不就是灰色得。只有活動窗口才具有輸入焦點而Windows中規(guī)定只有具有輸入焦點得窗口才能接收鍵盤消息也就就是說只有活動窗口才能接收鍵盤消息。24、鍵盤消息分為哪幾類哪些鍵只產(chǎn)生按鍵消息不產(chǎn)生字符消息答鍵盤消息可以分成按鍵消息與字符消息兩類。按鍵消息分為系統(tǒng)按鍵消息(WM—KEYDOWNWKEYUP與非系統(tǒng)按鍵消息WM_SYSKEYDOMW,WM_SYSKEfUP.字符消息也同樣分為系統(tǒng)字符消息WM_HAR,W/[_DEADCHAR與非系統(tǒng)字符消息WM_YSCHAL,WM_SYSDEACHAR。值得注意得就是系統(tǒng)按鍵消息只能產(chǎn)生系統(tǒng)字符消息非系統(tǒng)按鍵消息只能產(chǎn)生非系統(tǒng)得字符消息。在Windows中一些鍵就是只產(chǎn)生按鍵消息而不產(chǎn)生字符消息得這些鍵包括Shift鍵、Ctr1鍵、功能鍵、光標(biāo)移動鍵、特殊字符鍵.25、在程序中如何確定窗口何時具有輸入焦點何時失去輸入焦點。答當(dāng)應(yīng)用程序得窗口獲得輸入焦點時會發(fā)出WM_SETFOCUS消息而當(dāng)窗口失去輸入焦點時會發(fā)出WM_KILLFOCS消息。如果一個窗口獲得了輸入焦點便可以用鍵盤對這個窗口進(jìn)行操作.26、在WNDCLASSEX結(jié)構(gòu)類型中,各個成員所代表得含義就是什么?WNDCLASSEX結(jié)構(gòu)類型定義如下:typedefstruct_WDCLASSEX{UINTcbSize;UINTstyle;WNDPRClpfnWndProc;ntcbClsExtra;intcbWndExtra;HINSTANCEhlnstance;HICONhIcon;HCURSORhCursor;HBRUSHhbrBackground;LPCTSTRIpszMenuName;LPCTSTRIpszC1assNams;HICONhIconSm;}WNDLASSEX27、在CreateWindowEx()函數(shù)中,各成員所代表得含義就是什么?CreateWindowEx()函數(shù)定義如下:HWRDCreateWindowEx(DWORDdwxStyle,LPCTSTRlpC1assName,LPCTSTRlpWindowName,DWORDdwStyle,intx,inty,intnWidth,intnHeight,HWNDhWndParent,HMENUhMenu,HINSTANCEhInstance,LPVOIDlpParam);28、UpdateWindow()函數(shù)得功能什么?UpdateWindow()函數(shù)定義如下:BOOLUpdateWindow(HWN)hWnd);答:更新窗口客戶區(qū)29、在MS3結(jié)構(gòu)類型中,各個成員所代表得含義就是什么?MSG結(jié)構(gòu)類型定義如下:typedefstructtagMSG{HWNDhwnd;UINTmessage;WPARAMwPaam;LPARAM1Param;IDVORDtime;POINTpt;}MSG,*PMSG30、DefWindowProc()函數(shù)得功能什么?
DefWindowProc()函數(shù)定義如下:
LRESULTDefWindowProc(HWNDhWncJ
UINTMsg,
WPARAMwParam
LPARAMlParam);答:函數(shù)功能:該函數(shù)調(diào)用缺省得窗口過程來為應(yīng)用程序沒有處理得任何窗口消息提供缺省得處理。該函數(shù)確保每一個消息得到處理。.講匈牙利命名慣例得約定,還要記住那些習(xí)慣用法?匈牙利命名慣例得約定有兩條1、標(biāo)識符以一個或者幾個小寫字母開始,這些小寫字母表示標(biāo)識符得數(shù)據(jù)型;大小寫混雜寫,使得標(biāo)識符具有一定得含義,便于理解,增強可讀性。習(xí)慣用法:在命名結(jié)構(gòu)變量時,可以用結(jié)構(gòu)名得小寫字符序列作為變量名得字首,或者用整個結(jié)構(gòu)名用作結(jié)構(gòu)變量名。消息循環(huán)從應(yīng)用程序消息隊列取得窗口消息就是怎樣送給窗口消息處理程序?答:通過Dispatch(&msg)將消息發(fā)給指定得窗口;.主程序WinMain與WndProc就是如何聯(lián)系得?答:W■Proc窗口處理函數(shù)就是一個回調(diào)函數(shù),它就是用來處理消息得,就是由Windows調(diào)用得.在注冊窗口類得時候指定了窗口處理函數(shù)得入口地址,應(yīng)用程序獲得得消息都交給此入口地址對應(yīng)得窗口處理函數(shù)來處理.34、解釋下面函數(shù)申明中得每一個單詞intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnShowCmd);答:HINSTANCE就是數(shù)據(jù)類型,hInstance稱為執(zhí)行實例代號。hPrevInstance就是一個識別字,通過檢查hPrevInstance就能夠確定此應(yīng)用程序就是否已有過其她實例.lpCmdLine就是指向命令序列得指針。nShowCmd指出應(yīng)用程序得窗口得最初顯示方式..窗口類結(jié)構(gòu)中常用得有那幾個載入函數(shù)?它們得用法如何?答:LoadIcon函數(shù)HICONWINAPILoadIcon(//返回得指向圖標(biāo)得指針,如果失敗,返回NULL?HINSTANCEhInstance,//用戶定義圖標(biāo)在哪個實例中,NULL為系統(tǒng)圖標(biāo)?LPCSTR1pIconName//圖標(biāo)名,也稱圖標(biāo)上得標(biāo)簽?);LoadCursor()函數(shù)HCURSORWINAPILoadCursor(//返回新載入得光標(biāo)得句柄HINSTANCEhInstance,//載入得光標(biāo)?LPCTSTRlpCursorName)//預(yù)定義得光標(biāo)資源名GetStockObject(WHITE_BRUSH);//窗口背景色TOC\o"1-5"\h\z36、有哪兩種方法獲得屏幕得hDC?答:利用GetDC()取得窗口hDC;在處理WM_PAINT消息期間使用BeginPaint()獲彳#hDC;37、BeginPaint與EndPaint在什么情況下使用,為什么要成對出現(xiàn)?答:在處理WM_PAINT消息期間使用.38、InvaIidateRect所決定得重繪區(qū)與BeginPaint所決定得重繪區(qū)有什么區(qū)別?InvalidateRect最后一個參數(shù)得作用就是什么?答:程序調(diào)用BeginPaint時,在大多數(shù)情況下,fErasc被標(biāo)志為FALSE(0),這意味著Windows已經(jīng)擦除了無效矩形得背景。在調(diào)用BeginPaint后PAINTSTRUCT結(jié)構(gòu)得fErase條款將成為TRUE(非零)。而程序通過調(diào)用InvalidateRect函數(shù)使客戶區(qū)中得矩形失效,則該函數(shù)得最后一個參數(shù)會指示就是否擦除背景.如果這個參數(shù)為FALSE則執(zhí)行InvalidateRect時Windows將不擦除背景,反之,則會擦除背景。39、GetSystemMetrics函數(shù)得用處就是什么?GetTextMetrics函數(shù)得用處就是什么?為了存儲它們所獲得得信息,預(yù)先定義一個結(jié)構(gòu)就是什么?40、什么情況下產(chǎn)生WM_CREATE窗口消息?什么情況下產(chǎn)生WM_PAINT窗口消息?答:產(chǎn)生WM_CREATE窗口消息:執(zhí)行CreateWindow函數(shù)時產(chǎn)生WM_PAINT窗口消息:執(zhí)行UpdateWindow函數(shù)時在使用者移動窗口或顯示窗口時,窗口中先前被隱藏得區(qū)域重新可見。使用者改變窗口得大?。ㄈ绻翱陬悇e樣式有著CSHREDRAW與CSVREDRAW位旗標(biāo)得設(shè)定)。程序使用ScrollWindow或Scro1IDC函數(shù)滾動顯示區(qū)域得一部分。程序使用InvalidateRect或InvalidateRgn函數(shù)刻意產(chǎn)生WMPAINT消息。Windows擦除覆蓋了部分窗口得對話框或消息框。(可能)菜單下拉出來,然后被釋放。(可能)顯示工具提示消息。41、為什么WM_SIZE窗口消息后必然跟著一個WM_PAINT窗口消息?答:為我們定義窗口類得時候制定了類風(fēng)格CS_HREDRAW|CS_VREDRA。42、如果用戶希望立即更新無效區(qū)域,可以在調(diào)用Inva1idateRect之后調(diào)用什么函數(shù)?答:UpdateWindow.按照產(chǎn)生得按鍵消息分,按鍵分成那兩類?答:系統(tǒng)按鍵與非系統(tǒng)按鍵.按鍵消息有哪四種形式?系統(tǒng)按鍵消息有什么特點?它在哪里處理?那些不就是系統(tǒng)按鍵消息?答:四種形式:WMKEYDOWNWMSYSKEYDOWNWM_KEYUPWM_SYSKEYUP特點:系統(tǒng)按鍵可能就是一個按鍵也可能就是幾個按鍵得組合鍵,系統(tǒng)按鍵對Windows系統(tǒng)起作用。由默認(rèn)分支DefWindowProc處理系統(tǒng)鍵盤消息。WMKEYDOWNWMKEYUP.數(shù)字與字母得虛擬鍵碼就是怎樣定義得?答:數(shù)字、字母得虛擬鍵碼就是用ASCII碼定義得..窗口函數(shù)中WM_KEYDOWN消息處理分支中得wParam與SendMessage函數(shù)第三個參數(shù)wParam有什么不同?
答:消息處理分支中得wParam它就是判斷虛擬鍵盤得。而SendMessage中得wParam它就是存放鼠標(biāo)通知碼。47、窗口函數(shù)中WM_KEYDOWN消息處理分支中得wParam與SendMessage函數(shù)第三個參數(shù)wParam有什么不同?48、鼠標(biāo)就是一種必須要得選擇設(shè)備”,如何應(yīng)用GetSystemMetrics函數(shù)確認(rèn)鼠標(biāo)就是否存在?寫出程序代碼。答:fMouse=GetSystemMetrics(SM_MOUSEPRESENT);八、程序設(shè)計題1、已經(jīng)在視圖類中映射了單擊鼠標(biāo)右鍵得消息,在該函數(shù)中完成繪圖,要求以鼠標(biāo)點擊位置為圓心、半徑為100得綠色藍(lán)邊得圓。CExownCPoin{/ddhandreadefauRBut1ags,CExownCPoin{/ddhandreadefauRBut1ags,point);OnRButtonD(UINTnFlags,tpoint)/TODO:Ayourmessagelercodehend/orcal11t?CView::On
tonDown(nFCEx4_2View::OnRButtonDown(UINTnF1ags,CPointpoint){?//TODO:Addyourmessagehandlercodehereand/orcalldefault??CClientDCdc(this);CRectr(point、x—100,point、y—100,point、x+100,point、y+100);?CBrushbrush(RGB(0,255,0));CBrush*pOldBrush;?pOldBrush=dC)SelectObject(&brush);CPenpen(PS_SOLID,1,RGB(0,0,255));CPen*pOldPen;??)OldPen=dC)S
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人住宅小區(qū)地下車庫車位買賣協(xié)議范本2篇
- 2025年度個人帶車庫帶儲藏室公寓買賣協(xié)議
- 2025年度個人二手挖掘機買賣合同范本全新升級版2篇
- 2025年全球及中國智能安防巡檢機器人行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球胃電刺激裝置行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國可調(diào)鎖骨矯正器行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2024年軍隊文職人員招聘考試題庫
- 2025年度頁巖磚生產(chǎn)廢棄物資源化利用技術(shù)研發(fā)合同4篇
- 2025年度老舊小區(qū)改造工程維修管理服務(wù)合同范本2篇
- 二零二五年度櫥柜品牌授權(quán)生產(chǎn)與銷售代理合同3篇
- 醫(yī)保政策與健康管理培訓(xùn)計劃
- 無人化農(nóng)場項目可行性研究報告
- 《如何存款最合算》課件
- 社區(qū)團(tuán)支部工作計劃
- 拖欠工程款上訪信范文
- 2024屆上海市金山區(qū)高三下學(xué)期二模英語試題(原卷版)
- 學(xué)生春節(jié)安全教育
- 《wifi協(xié)議文庫》課件
- 《好東西》:女作者電影的話語建構(gòu)與烏托邦想象
- 教培行業(yè)研究系列(七):出國考培的再研究供需變化的新趨勢
- GB/T 44895-2024市場和社會調(diào)查調(diào)查問卷編制指南
評論
0/150
提交評論