可視化復(fù)習(xí)題_第1頁
可視化復(fù)習(xí)題_第2頁
可視化復(fù)習(xí)題_第3頁
可視化復(fù)習(xí)題_第4頁
可視化復(fù)習(xí)題_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

、填空題消息循環(huán)的處理過程如下: A 函數(shù)不斷偵察應(yīng)用程序的消息隊列,若隊列為空,該函數(shù)一直運行,不返回;一旦發(fā)現(xiàn)隊列不為空,便取出一條消息,把它拷貝到msg結(jié)構(gòu)變量中,同時該函數(shù)返回TRUE;得到消息msg后, C把來自鍵盤的命令翻譯成 WM_XXX消息命令形式。 B函數(shù)通知Windows把每個消息分發(fā)給相應(yīng)的窗口函數(shù)。應(yīng)用程序并不直接調(diào)用窗口函數(shù),而由 Windows根據(jù)消息去調(diào)用窗口函數(shù),因此,窗口函數(shù)經(jīng)常被稱為回調(diào)函數(shù)。A、GetMessage() B、translateMessage() C、PostMessage()D、SendMessage() E、DispatchMessage()CDC類叫做設(shè)備描述表類。在VC程序中通過類的成員函數(shù)來訪問其內(nèi)部的數(shù)據(jù)成員,成員函數(shù)是類與外部程序之間的接口。采用函數(shù)SendMessage和PostMessage都會向窗體發(fā)送一個消息,但 SendMessage在消息處理完成后返回,而PostMessage把消息放進(jìn)消息隊列就立即返回 。使用MFCAppWizard產(chǎn)生的應(yīng)用程序的類型主要包括:單文檔應(yīng)用程序、 多文檔應(yīng)用程序和基于對話框的應(yīng)用程序。VC++的工作區(qū)窗口包含3個視圖,分別是 類視圖、資源視圖和文件視圖。MFC類庫的基類是CObiect。若在繪制客戶區(qū)時獲取設(shè)備上下文調(diào)用的函數(shù)是 GetDC,則釋放它是調(diào)用的函數(shù)是 ReleaseDC。若在繪制客戶區(qū)時獲取設(shè)備上下文調(diào)用的函數(shù)是 BeginPaint,則釋放它是調(diào)用的函數(shù)是 EndPaint。Windows窗口中,菜單分為兩種: 下拉式菜單和彈出式菜單。Windows應(yīng)用程序的消息來源主要包括 系統(tǒng)消息和自定義消息。Windows應(yīng)用程序的消息按處理方式主要包括 窗口消息、命令消息和控件通知消息。數(shù)據(jù)更新時,可調(diào)用Invalidate或InvalidateRect函數(shù)使客戶區(qū)全部或者部分無效,出發(fā) Windows發(fā)送(WM_PAINT)

消息,并調(diào)用OnDraw消息處理函數(shù)重繪客戶區(qū)或刷新窗口當(dāng)用戶按下鍵盤上的某個按急鍵時,鍵盤的接口會產(chǎn)生與該按鍵相對應(yīng)的 掃描碼 ,它存在設(shè)備相關(guān)性。因此為了實現(xiàn)與設(shè)備無關(guān), Windows應(yīng)用程序的編寫過程中直接使用 虛擬碼來對鍵盤進(jìn)行操作。UpdateData函數(shù)可以用在對話框中更新數(shù)據(jù),將控件數(shù)據(jù)保存到數(shù)據(jù)成員應(yīng)帶參數(shù) TRUE,反之應(yīng)帶 FALSE。類的定義一般分為 聲明和定義兩部分,其中前一部分告訴使用者“ 干什么”,而后一部分告訴使用者“怎么干”。菜單類對象和位圖類對象分別通過 LoadMenu、LoadBitmap 函數(shù)加載菜單資源和位圖資源。三、 簡答題1、 什么是設(shè)備的無關(guān)性?什么是映像模式?解:設(shè)備的無關(guān)性就是操作系統(tǒng)屏蔽了硬件設(shè)備的差異,因而設(shè)備無關(guān)性能使用戶編程時無需考慮特殊的硬件設(shè)置。映像模式定義了將邏輯單位轉(zhuǎn)化為設(shè)備的度量單位以及設(shè)備的 x方向和y方向,這樣程序員可在一個統(tǒng)一的邏輯坐標(biāo)系中操作而不必考慮輸岀設(shè)備的坐標(biāo)系情況。2、 解釋代碼CWinApp::?CWinApp(){deletem_pMainWnd;} 。解:這個函數(shù)是CWinApp的析構(gòu)函數(shù),完成的功能是在 CWinApp對象釋放時將CFrameWnd類的指針刪除,以釋放資源。3、 應(yīng)用程序類主要完成的功能是?解:一是調(diào)用成員函數(shù) Initlnstance來完成窗口的設(shè)計、注冊、創(chuàng)建、和顯示工作。 二是調(diào)用成員函數(shù) Run來完成消息循環(huán)。4、 什么是句柄?它在Windows程序中的作用是什么?解:句柄是Windows用來標(biāo)識被應(yīng)用程序所建立或使用的對象的唯一整數(shù)(一個 4字節(jié)長的數(shù)值),Windows使用各種各樣的句柄標(biāo)識諸如應(yīng)用程序?qū)嵗⒋翱?、控制、位圖和 GDI對象等等。5、 Windows程序的入口點是什么函數(shù) ?它主要完成什么功能 ?解:Windows程序的入口點函數(shù)是 WinMain(),完成的主要功能是創(chuàng)建、注冊和顯示窗口,以及啟動消息循環(huán)完成消息驅(qū)動。6、 創(chuàng)建一個窗口要經(jīng)過幾個步驟?解:要經(jīng)過5個步驟:設(shè)計窗口類型、注冊窗口類型、創(chuàng)建窗口、顯示窗口和消息循環(huán)。7、 簡述CWnd類的對象和窗口句柄的關(guān)系。解:CWnd對象的創(chuàng)建和銷毀,是由CWnd類的構(gòu)造函數(shù)和析構(gòu)函數(shù)完成的,而窗口句柄是Windows內(nèi)部的一種數(shù)據(jù)結(jié)構(gòu),它由CWnd類的Create成員函數(shù)創(chuàng)建,由其析構(gòu)函數(shù)銷毀。8在MFC應(yīng)用程序中如何對應(yīng)用程序和對話框進(jìn)行初始化?解:一般在虛函數(shù)Initlnstance中對應(yīng)用程序進(jìn)行初始化;在OnlnitDialog函數(shù)中對對話框進(jìn)行初始化。9、 什么是內(nèi)存設(shè)備上下文?為什么要用到它?解:內(nèi)存設(shè)備上下文又稱兼容設(shè)備上下文。內(nèi)存設(shè)備上下文主要為特定的設(shè)備存儲位圖,它支持在位圖上進(jìn)行繪制操作。四、 綜合題1、簡單的計算程序界面如下圖所示,操作數(shù) 1對應(yīng)編輯框控件的ID為IDC_EDIT1,對應(yīng)值類型的成員變量 m_op1(int);操作數(shù)2對應(yīng)編輯框控件的ID為IDC_EDIT2,對應(yīng)值類型的成員變量m_op2(int);計算結(jié)果對應(yīng)的編輯框控件的 ID為IDC_EDIT3,對應(yīng)值類型的成員變量m_result(int)。假設(shè)輸入的數(shù)為整數(shù),加法按鈕的功能是將兩操作數(shù)相加,并將結(jié)果在對應(yīng)的編輯框IDC_EDIT3顯示出來。寫出加法按鈕對應(yīng)的代碼。確定確定voidCExDlg::OnButton1(){ UpdateData(TRUE);m_result=m_op1+m_op2;UpdateData(FALSE); }2、 文檔視圖結(jié)構(gòu)的 SDI應(yīng)用程序的文檔類為CStudentDoc(基類為CDocument),視圖類為CStudentView(基類為CView),CStudentDoc類定義如下classCStudentDoc:publicCDocumet doublem_Score;{ //其余部分省略public: // …Stringm_Name; }intm_Age;視圖類CStudentView中以下面的格式顯示 CStudentDoc中的3個數(shù)據(jù)成員(構(gòu)造函數(shù)已初始化,分別為:張三,20,589.0),完成CStudentView::OnDraw函數(shù)實現(xiàn)此功能voidCStudentView::OnDraw(CDC*pDC){CStudentDoc*pDoc=GetDocument();pDC->TextOut(5,5,"姓名年齡成績");pDC->MoveTo(0,25);pDC->LineTo(200,25);CStringstrLine;strLine.Format("name:%sage:%dscore:%f",pDoc->m_Name,pDoc->m_Age,pDoc->m_Score);pDC->TextOut(5,30,strLine);}3、新建基于對話框的應(yīng)用程序 Test,完成對編輯框輸入后,點擊確定按鈕彈岀對話框顯示學(xué)生信息的功能。如圖所示:

'X年苗:|20成鶴岡 姓名:張三年齡:20成越:891匚3BCZJ 加消|三個編輯框從上到下的 ID分別為:IDC_Name,IDC_Age,IDC_Score,綁定的成員變量分別是CStringm_sName,UINTm_nAge,floatm_fScore.已完成確定按鈕(IDOK)的消息映射。編寫voidCTestDlg::OnOK()完成對應(yīng)功能,要求使用兩種方法。str2+=str;str.Formatstr2+=str;str.Format(”成績:%f",m_fScore);str2+=str;MessageBox(str2);}4個編輯框,分別對應(yīng)矩形的長和寬,CStringstr,str2;UpdateData(TRUE);str.Format(”姓名:%s",m_sName);str2+=str;str.Format(”年齡:%d",m_nAge);4、創(chuàng)建一個模態(tài)對話框,實現(xiàn)如下功能:對話框提供面積和周長,點擊確定

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論