Windows程序設(shè)計(jì)課程復(fù)習(xí)題.doc_第1頁(yè)
Windows程序設(shè)計(jì)課程復(fù)習(xí)題.doc_第2頁(yè)
Windows程序設(shè)計(jì)課程復(fù)習(xí)題.doc_第3頁(yè)
Windows程序設(shè)計(jì)課程復(fù)習(xí)題.doc_第4頁(yè)
Windows程序設(shè)計(jì)課程復(fù)習(xí)題.doc_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Windows程序設(shè)計(jì)復(fù)習(xí)題一 選擇題1 下列程序設(shè)計(jì)方法中,( )是一種基于對(duì)象的程序設(shè)計(jì)方法。A: MFC程序設(shè)計(jì)B: 使用WindowsAPI編程C: 使用VisualBasic語(yǔ)言編程D: 使用C#程序設(shè)計(jì)語(yǔ)言編程2 MFC程序框架中,最先執(zhí)行的函數(shù)是( )。A: WinMain函數(shù)B: CWinApp類的構(gòu)造函數(shù)C: CWinApp類的InitInstance函數(shù)D: Cwnd的OnCreate函數(shù)3 CWinApp類中用( )成員函數(shù)實(shí)現(xiàn)了對(duì)消息環(huán)的封裝。A: InitInstance( )B: Run()C: OnIdle()D: WndProc()4 消息的4個(gè)參數(shù)中,表示消息類型的參數(shù)是( )。A: HWND hwnd B: messageIDC: wParamD: lParam5下列各消息中,與程序的菜單命令、工具欄按鈕或?qū)υ捒虬粹o相對(duì)應(yīng)的消息是( )。A: WM_CHAR B: WM_COMMANDC: WM_CREATED: WM_PAINT6 MFC消息映射機(jī)制中,下列消息映射表BEGIN_MESSAGE_MAP(CGraphicsView, CScrollView) ON_WM_PAINT()END_MESSAGE_MAP()把WM_PAINT消息映射到()。A: CGraphicsView類OnPaint函數(shù)B: CGraphicsView類OnDraw函數(shù)。C: CScrollView類的OnPaint函數(shù)D: CScrollView類的OnDraw成員函數(shù)。7 下列MFC類中,不直接支持消息映射的MFC基類是( ),A: CCmdTarget B: CWinAPPC: CWndD: CMap8 下列集合類中,其內(nèi)部是使用散列表技術(shù)實(shí)現(xiàn)的MFC類的是( )。A: CArrayB: CList C: CMapD: CPtrList9 下列CWnd類成員函數(shù)中,用于任何消息的可覆蓋函數(shù)是( )。A: OnCommandB: OnNotifyt C: OnUpdateD: WindowProc10 Windows程序中,用于表示通用字符的數(shù)據(jù)類型是( )。A: charB: unsigned shortC: TCHARD: unsigned char11 下列數(shù)據(jù)類型中,表示設(shè)備上下文句柄的數(shù)據(jù)類型是( )。A: HWNDB: HDC C: HMENUD: HPEN12 下列各個(gè)窗口類中,表示各種視圖類的基類的MFC類是( )。A: CScrollView B: CTextView C: CRichEditViewD: CView13 下列各種窗口對(duì)象中,對(duì)象最好在棧(Stack)中分配MFC窗口類是( )。A: CToolBarB: CView C: CWnd D: CFrameWnd14下列各宏命令中,應(yīng)該放在類實(shí)現(xiàn)中以支持序列化特性的宏命令是( )。A: IMPLEMENT_DYNAMIC(class_Name)B: IMPLEMENT_DYNCREATE(class_Name)C: IMPLEMENT_SERIAL(class_Name)D: IMPLEMENT_MESSAGE_MAP()15 CRuntimeClass類的操作中,用于從類名字符串獲得該類CRunTimeClass對(duì)象指針的方法為( )。A: IsDerivedFromB: FromNameC: CreateObjectD: GetBaseClass16 各種設(shè)備描述表的中,可以使用CreateComPatibleDC函數(shù)創(chuàng)建獲得的設(shè)備描述表類型是( )。A: 顯示設(shè)備描述表B: 打印設(shè)備描述表C: 內(nèi)存設(shè)備描述表D: 信息設(shè)備描述表17 CDC類成員函數(shù)中,可用于繪制圓角矩形的成員函數(shù)是( )。A: LineTo(int x,int y)B: PolyBezierTo( const POINT* lpPoints, int nCount );C: BitBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, DWORD dwRop );D: BOOL RoundRect( LPCRECT lpRect, POINT point );18 下列映射模式中,以0.01mm為邏輯單位的映射模式為( )。A: MM_LOMETRICB: MM_HIMETRICC: MM_LOENGLISHD: MM_HIENGLISH19 下列GDI對(duì)象中,用于繪制圖形內(nèi)部區(qū)域的GDI對(duì)象為( )A: 畫(huà)筆B: 畫(huà)刷C: 字體D: 區(qū)域E: 位圖F: 調(diào)色板20 MFC文檔視圖框架中,用于規(guī)范程序、文檔與視圖對(duì)象之間的對(duì)象類是( )類。A: CWinAppB: CDocumentC: CViewD: CDocTemplate二 簡(jiǎn)答題1 CObject類的三個(gè)特性運(yùn)行時(shí)類信息:在運(yùn)行時(shí)確定一個(gè)對(duì)象是否是一個(gè)類或其派生類的實(shí)例, CObject成員函數(shù)IsKindOf實(shí)現(xiàn)這個(gè)功能。動(dòng)態(tài)創(chuàng)建:CRuntimeClass類成員函數(shù)CreateObject實(shí)現(xiàn)這個(gè)功能。序列化:把對(duì)象存入文件或從文件中讀取對(duì)象內(nèi)容的過(guò)程。用戶類通過(guò)覆蓋Serialize()函數(shù)已實(shí)現(xiàn)這個(gè)功能。2 簡(jiǎn)述設(shè)計(jì)一個(gè)支持可序列化類的設(shè)計(jì)方法?序列化:把對(duì)象存入文件或從文件中讀取對(duì)象內(nèi)容的過(guò)程。設(shè)計(jì)可序列化的類的方法:1 定義該類時(shí),使用CObject類或其派生類作為基類2 使用DECLARE_SERIAL(CLASSNMAE) 宏;3 定義默認(rèn)構(gòu)造函數(shù);4 在類實(shí)現(xiàn)中使用IMPLEMENT_SERIAL(CLASSNAME,BASECLASS)宏;5 覆蓋Serialize成員函數(shù)3 簡(jiǎn)述程序設(shè)計(jì)中為一個(gè)窗口創(chuàng)建子窗口的一般步驟和方法。為一個(gè)窗口創(chuàng)建子窗口的一般步驟1 選擇一個(gè)合適的窗口類作為基類(CWnd類或其派生類),定義一個(gè)窗口類2 以堆方式在窗口類中添加一個(gè)或若干個(gè)子窗口類型的成員變量。3 重載OnCreate成員函數(shù),在成員函數(shù)中調(diào)用這些子窗口對(duì)象的Create方法,創(chuàng)建子窗口對(duì)象。4 建立子窗口與父窗口之間的消息映射。4 簡(jiǎn)述MFC中有哪些設(shè)備描述表類,它們各有哪些特點(diǎn)。MFC中定義了如下設(shè)備描述表類CDC:各種設(shè)備描述表類的基類,封裝了設(shè)備描述表的屬性和方法,提供了一個(gè)重要的訪問(wèn)圖形設(shè)備的接口。CWindowsDC:窗口區(qū)域設(shè)備描述表類。CClientDC:客戶區(qū)設(shè)備描述表類。CPaintDC:重繪區(qū)域設(shè)備描述表類。CMetaFileDC:圖元文件設(shè)備描述表類。5簡(jiǎn)述Windows消息的類型有哪些?各有何特點(diǎn)?窗口消息:窗口事件引發(fā)的消息。如WM_PAINT??丶ㄖⅲ嚎丶顟B(tài)改變引發(fā)的消息。命令消息:與一個(gè)用戶界面對(duì)象相聯(lián)系的消息。菜單項(xiàng)、命令按鈕和快捷鍵。自定義消息:用戶自定義的消息。6簡(jiǎn)述序列化的概念和設(shè)計(jì)支持序列化類的方法。序列化:把對(duì)象存入文件或從文件中讀取對(duì)象內(nèi)容的過(guò)程。設(shè)計(jì)可序列化的類的方法:1 定義該類時(shí),使用CObject類或其派生類作為基類2 使用DECLARE_SERIAL(CLASSNMAE) 宏;3 定義默認(rèn)構(gòu)造函數(shù);4 在類實(shí)現(xiàn)中使用IMPLEMENT_SERIAL(CLASSNAME,BASECLASS)宏;5 覆蓋Serialize成員函數(shù)7 簡(jiǎn)述設(shè)備描述表的概念和主要類型。設(shè)備描述表(Device Context)是一種Windows數(shù)據(jù)結(jié)構(gòu),用來(lái)描述繪制窗口所需要的信息。設(shè)備描述表主要有如下類型Display顯示設(shè)備描述表,提供對(duì)視頻顯示設(shè)備上的繪制操作的支持Printer打印設(shè)備描述表,提供對(duì)打印機(jī)、繪圖儀設(shè)備上的繪制操作的支持Memory內(nèi)存設(shè)備描述表,提供對(duì)位圖操作的支持Information信息設(shè)備描述表,提供對(duì)操作設(shè)備信息獲取的支持8 簡(jiǎn)述GDI的基本概念,簡(jiǎn)述設(shè)備描述表中有哪些GDI對(duì)象,這些對(duì)象用哪些MFC類表示。圖形設(shè)備接口(GDI:Graphics Device Interface):為程序員提供了一個(gè)設(shè)備無(wú)關(guān)的設(shè)備接口。 Gdi對(duì)象分類畫(huà)筆:繪制線和圖形的邊框。畫(huà)刷:繪制一個(gè)圖形的內(nèi)部區(qū)域。字體:定義字體區(qū)域:設(shè)備上的一個(gè)區(qū)域,可用于定義裁剪區(qū)域等操作位圖:一個(gè)由顏色位組成的數(shù)組,用于表示一個(gè)圖形調(diào)色板:一個(gè)顏色列表,用于建立邏輯顏色到設(shè)備顏色的映射。9 簡(jiǎn)述延遲再現(xiàn)技術(shù)的基本概念和與延遲再現(xiàn)技術(shù)相關(guān)的消息。延遲再現(xiàn)技術(shù):當(dāng)向剪貼板傳送數(shù)據(jù)中,并不直接將數(shù)據(jù)的這份副本傳給剪貼板,而是直到有另一個(gè)程序需要數(shù)據(jù)時(shí),程序才提供這份數(shù)據(jù)。延遲提出技術(shù)的三個(gè)消息WM_RENDERFORMAT:當(dāng)有程序調(diào)用GetClipboardData要從剪貼板取數(shù)據(jù)時(shí),發(fā)送的消息,wParam是所要求的數(shù)據(jù)格式。WM_DESTROYCLIPBOARD:當(dāng)有程序調(diào)用EmptyClipboard時(shí)發(fā)送的消息,通知不再需要構(gòu)造剪貼板數(shù)據(jù)信息。WM_RENDERALLFORMATS :剪貼板擁有者程序要終止執(zhí)行時(shí)將收到的消息。三 程序設(shè)計(jì)已知:一個(gè)用于表示多邊形的C+類CPolygon定義如下:class CPolygonprivate: CPoint *pPoint;int nCount;int nLineStyle, nWidth;COLOREF crLineColor, crFaceColor;public:CPolygon (CPoint *point,int nCount,int LineStyle, int Width,COLOREF LineColor, COLOREF FaceColor); CPolygon (void);類實(shí)現(xiàn)部分CPolygon:CPolygon(CPoint *point,int nCount,int LineStyle, int Width,COLOREF linecolor, COLOREF facecolor)nCount=count;if(nCount0)pPoint=new CPointnCount;for(int i=0;inCount;i+)pPointi=pointi;nLineStyle=LineStyle,nWidth=Width,crLineColor=linecolor,crFaceColor=facecolor;CPolygon: CPolygon (void)if(pPoint) delete pPoint;1請(qǐng)為其添加必要的成分,使其支持序列化。已知:一個(gè)用于表示多邊形的C+類CPolygon定義如下:class CPolygon:CObjectDECLARE_SERIAL(CPolygon)private: CPoint *pPoint;int nCount;int nLineStyle, nWidth;COLOREF crLineColor, crFaceColor;public:CPolygon(void) CPolygon (CPoint *point,int nCount,int LineStyle, int Width,COLOREF LineColor, COLOREF FaceColor); CPolygon (void);void Serialize(CArchive ar); ;類實(shí)現(xiàn)部分void CPolygon:Serialize(CArchive ar) if(ar.IsStoring()arnCount;for(int i=0;inCount;i+)arpPointi;arnLineStylenWidthcrLineColornCount;pPoint=new CPointnCount;for(int i=0;ipPointi;arnLineStylenWidthcrLineColorcrFaceColor; 2為CPolygon類添加的繪制方法void CPolygon:Draw(CDC *pDC)CPen mPen;CBrush mBrush;mPen.CreatePen(nLineStyle, nWidth, crLineColor);CPen *pOldPen=pDC-SelectObject(&mPen);CBrush *pOldBrush= pDC-SelectObject(&mBrush);pDC-PolyGon(pPoint, nCount);pDC-SelectObject(&pOldPen); pDC-SelectObject(&pOldBrush);3為CPolygon類添加克隆方法CPolygon* Clone()如下CPolygon * CPolygon:Clone()return new CPolygon(p, nCount, nLineStyle , nWidth, crLineColor, crFaceColor);四 論述題1 簡(jiǎn)述全局內(nèi)存塊的概念,全局內(nèi)存塊有那些使用規(guī)則。全局內(nèi)存塊:是一個(gè)操作系統(tǒng)意義上的全局內(nèi)存區(qū)域,其特征是可以跨進(jìn)程使用。主要用于Windows剪貼板操作。其使用規(guī)則如下:1 定義一個(gè)全局內(nèi)存句柄:GLOBALHANDLE hGlobal ;2 配置全局內(nèi)存:hGlobal = GlobalAlloc (GHND, 1024) ;3 鎖定全局內(nèi)存:p = (int *) GlobalLock (hGlobal) ;4 解鎖全局內(nèi)存:GlobalUnlock (hGlobal) ;5 釋放全局內(nèi)存:GlobalFree (hGlobal) 2 論述映射模式的概念,MFC定義了哪幾種映射方式,它們的特點(diǎn)是什么?關(guān)于映射模式的操作有哪些?映射模式:邏輯坐標(biāo)和設(shè)備坐標(biāo)的映射方式。MFC定義了8種映射方式,其定義如下映像方式 邏輯單位 x值y值 MM_TEXT 圖素 右 下 MM_LOMETRIC 0.1 mm 右 上 MM_HIMETRIC 0.01 mm 右 上 MM_LOENGLISH 0.01 in. 右 上 MM_HIENGLISH 0.001 in. 右 上 MM_TWIPS 1/1440 in. 右 上 MM_ISOTROPIC 任意(x = y) 可選可選 MM_ANISOTROPIC任意(x != y) 可選可選 關(guān)于映射模式的主要操作包括:(4分)設(shè)置映射模式窗口操作:設(shè)置窗口原點(diǎn)、窗口范圍。視口操作:設(shè)置視口原點(diǎn)、視口范圍。3 簡(jiǎn)述Windows剪貼板的基本概念,列舉出主要的Windows剪貼板函數(shù)。Windows剪貼板:是一個(gè)Windows內(nèi)存區(qū)域,用于把數(shù)據(jù)從一個(gè)程序傳送到另一個(gè)程序。剪貼板的主要操作有:剪切Cut、復(fù)制Copy和粘貼Paste。剪貼板函數(shù)有:打開(kāi)剪貼板:OpenClipboard (hwnd) ;清空剪貼板:EmptyClipboard () ;向剪貼板傳數(shù)據(jù):SetClipboardData (CF_TEXT, hGlobal) ;從剪貼板取數(shù)據(jù):GetClipboardData 關(guān)閉剪貼板CloseClipboard () ;4 論述MFC動(dòng)態(tài)類信息的表示方法,它們有哪些應(yīng)用。答:MFC使用CRunTimeClass類對(duì)象表示動(dòng)態(tài)類信息。Struct CRuntimeClass(5分)LPCSTR m_lpszCla

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論