資源描述:
《武漢大學(xué)C++筆試_MFC編程知識(shí)要點(diǎn)》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、MFC編程知識(shí)要點(diǎn)特別注意:紅色有框的部分,考試不做要求(即:15,21,30,34,48,49)。1、MFC應(yīng)用程序中,應(yīng)用程序類(lèi)的基類(lèi)是CWinApp;2、C/C++程序中有且只有一個(gè)main函數(shù)!在MFC應(yīng)用程序中沒(méi)有main函數(shù),但是有且只有一個(gè)WinMain函數(shù)!3、MFC把WinMain函數(shù)隱藏了,我們?cè)诔绦蛑锌床坏剑绦騿T能看到的是App類(lèi)中的公有成員函數(shù)InitInstance函數(shù)!這個(gè)函數(shù)是CWinApp類(lèi)中定義的虛函數(shù)。MFC應(yīng)用程序從應(yīng)用程序類(lèi)的InitInstance函數(shù)開(kāi)始,到ExitInstance結(jié)束。因此,程序員可以在應(yīng)用程序類(lèi)的InitInstance函
2、數(shù)中可以添加全局變量的初始化工作,在應(yīng)用程序類(lèi)的ExitInstance函數(shù)中進(jìn)行全局內(nèi)存資源的釋放工作。4、MFC中對(duì)話(huà)框類(lèi)為CDialog;5、創(chuàng)建模態(tài)對(duì)話(huà)框的方法是調(diào)用CDialog類(lèi)的DoModal函數(shù),該函數(shù)的返回值代表用戶(hù)是按下哪一個(gè)按鈕返回的;“模態(tài)對(duì)話(huà)框”的含義是:即在該對(duì)話(huà)框關(guān)閉之前,其它窗口無(wú)法獲得輸入焦點(diǎn)!6、在MFC對(duì)話(huà)框中顯示提示信息使用函數(shù)AfxMessageBox7、對(duì)話(huà)框類(lèi)使用DDX/DDV機(jī)制將對(duì)話(huà)框窗口和控件窗口關(guān)聯(lián)起來(lái),DDX/DDV的代碼不需要自己手工修改,可以直接使用VC中的向?qū)Ы缑鎭?lái)設(shè)置;8、CDialog::UpdateData的函數(shù)的使用M
3、FC使用DDX/DDV機(jī)制將對(duì)話(huà)框類(lèi)的成員變量和對(duì)話(huà)框中控件的數(shù)據(jù)關(guān)聯(lián)起來(lái)。DDX/DDV在類(lèi)向?qū)Ы缑嬷性O(shè)置。需要了解類(lèi)向?qū)гO(shè)置了DDX/DDV后,代碼發(fā)生了哪些變化,DDX/DDV關(guān)聯(lián)的成員變量在對(duì)話(huà)框類(lèi)的構(gòu)造函數(shù)中初始化。編程時(shí)可以調(diào)用CDialog類(lèi)的成員函數(shù)UpdateData更新有DDX/DDV關(guān)聯(lián)的成員變量和控件中的數(shù)據(jù)。在對(duì)話(huà)框類(lèi)的消息響應(yīng)函數(shù)OnOK中,第一句就應(yīng)該是UpdateData(TRUE);以便于啟動(dòng)DDV檢驗(yàn)或者在自己檢驗(yàn)數(shù)據(jù)合法性之前獲得最終的成員變量值。9、對(duì)話(huà)框類(lèi)中控件和成員變量的初始化可以重載CDialog類(lèi)的消息響應(yīng)函數(shù)OnInitDialog,這個(gè)
4、函數(shù)對(duì)應(yīng)的消息為WM_INITDIALOG;10、退出模態(tài)對(duì)話(huà)框一般可以選擇響應(yīng)按鈕IDOK或者IDCANCEL的消息函數(shù)OnOK或者OnCancel11、要求熟悉并掌握:按鈕(CButton)、靜態(tài)控件(CStatic)、編輯框(CEdit)三種控件的使用。12、在MFC中,文檔類(lèi)的基類(lèi)是CDocument,是專(zhuān)門(mén)為數(shù)據(jù)處理設(shè)計(jì)的類(lèi)。13、在MFC中,視圖類(lèi)的基類(lèi)是CView,是專(zhuān)門(mén)處理數(shù)據(jù)顯示的類(lèi)。視圖是一個(gè)沒(méi)有邊框的窗口(CView是CWnd的派生類(lèi))。它位于框架窗口的客戶(hù)區(qū)。視圖不能獨(dú)立存在,必須依附于一個(gè)框架窗口(CFrameWnd)。14、MFC中文檔模版類(lèi)為CDocTemp
5、late,有兩個(gè)派生類(lèi)CSingleDocTemplate和CMultiDocTemplate,分別代表單文檔模版類(lèi)和多文檔模版類(lèi)。14、在應(yīng)用程序類(lèi)的InitInstance函數(shù)中需要注冊(cè)文檔模版類(lèi),典型的代碼如下:15、了解MDI和SDI應(yīng)用程序的區(qū)別;16、在視圖類(lèi)中,文檔數(shù)據(jù)的顯示通過(guò)重載函數(shù)CView::OnDraw完成。17、為了顯示文檔中的數(shù)據(jù),在視圖類(lèi)中需要獲得視圖類(lèi)所關(guān)聯(lián)的文檔類(lèi)指針。這可以通過(guò)視圖類(lèi)的成員函數(shù)GetDocument完成。18、當(dāng)文檔數(shù)據(jù)發(fā)生變化時(shí),需要通知與文檔類(lèi)相關(guān)聯(lián)的所有視圖類(lèi)更新顯示。有兩種方法:(1)調(diào)用CDocument類(lèi)的成員函數(shù)Updat
6、eAllViews;(2)調(diào)用CDocument類(lèi)的成員函數(shù)GetFirstViewPosition和GetNextView;19、在視圖類(lèi)中需要更新顯示時(shí),可以簡(jiǎn)單的調(diào)用下述Invalidate函數(shù)即可。20、文檔視圖類(lèi)的應(yīng)用程序中,工具欄和狀態(tài)欄的創(chuàng)建和初始化代碼寫(xiě)框架窗口類(lèi)CMainFrame的WM_CREATE消息響應(yīng)函數(shù)OnCreate中;21、在應(yīng)用程序中可以調(diào)用函數(shù)AfxGetApp獲得應(yīng)用程序?qū)ο笾羔?;調(diào)用AfxGetMainWnd函數(shù)獲得主窗口對(duì)象指針;14、下拉式菜單和工具欄按鈕主要響應(yīng)消息WM_COMMAND和UPDATE_COMMAND_UI;15、右鍵菜單:也稱(chēng)
7、為快捷菜單或者上下文菜單。當(dāng)用戶(hù)點(diǎn)擊鼠標(biāo)右鍵時(shí),右鍵菜單就會(huì)出現(xiàn)在光標(biāo)所在位置;右鍵菜單是通過(guò)CMenu類(lèi)及其成員函數(shù)在程序運(yùn)行過(guò)程中動(dòng)態(tài)創(chuàng)建的;右鍵菜單的創(chuàng)建和顯示一般在WM_CONTEXTMENU消息響應(yīng)函數(shù)中編程實(shí)現(xiàn);16、主要的鼠標(biāo)消息:lWM_MOUSEMOVE:鼠標(biāo)移動(dòng)lWM_LBUTTONDOWN:左鍵按下lWM_LBUTTONUP:左鍵彈起lWM_LBUTTONDBLCLK:雙擊左鍵lWM_RBUTTONDOWN:右