秋霞电影网午夜鲁丝片无码,真人h视频免费观看视频,囯产av无码片毛片一级,免费夜色私人影院在线观看,亚洲美女综合香蕉片,亚洲aⅴ天堂av在线电影猫咪,日韩三级片网址入口

windows編程復(fù)習(xí)綱要課件

上傳人:Xgjmqtw****nqtwad... 文檔編號(hào):252302343 上傳時(shí)間:2024-11-14 格式:PPT 頁(yè)數(shù):48 大?。?00.84KB
收藏 版權(quán)申訴 舉報(bào) 下載
windows編程復(fù)習(xí)綱要課件_第1頁(yè)
第1頁(yè) / 共48頁(yè)
windows編程復(fù)習(xí)綱要課件_第2頁(yè)
第2頁(yè) / 共48頁(yè)
windows編程復(fù)習(xí)綱要課件_第3頁(yè)
第3頁(yè) / 共48頁(yè)

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《windows編程復(fù)習(xí)綱要課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《windows編程復(fù)習(xí)綱要課件(48頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、,Fundamentals of Computers,*,*,制作:劉曉翔,JINAN University,暨南大學(xué)電氣信息學(xué)院,Windows,編程,Fundamentals of Computers,制作:劉曉翔,JINAN University,暨南大學(xué)電氣信息學(xué)院,Windows,編程,*,*,Fundamentals of Computers,暨南大學(xué)電氣信息學(xué)院,Windows,編程,*,制作:劉曉翔,2024/11/14,1,前言,什么是,Windows API,?,有過(guò)編程經(jīng)驗(yàn)的讀者都應(yīng)該知道,在傳統(tǒng)應(yīng)用程序中要完成某個(gè)功能,都是以,函數(shù)調(diào)用,的形式實(shí)現(xiàn)的,同樣,,Windo

2、ws,應(yīng)用程序也是以函數(shù)調(diào)用的方式來(lái)通知操作系統(tǒng)執(zhí)行相應(yīng)的功能的。,操作系統(tǒng)所能夠完成的每一個(gè)特殊功能通常都有一個(gè)函數(shù)與其對(duì)應(yīng),也就是說(shuō),操作系統(tǒng)把它所能夠完成的功能以函數(shù)的形式提供給應(yīng)用程序使用,應(yīng)用程序?qū)@些函數(shù)的調(diào)用就叫做系統(tǒng)調(diào)用,這些函數(shù)的集合就是,Windows,操作系統(tǒng)提供給應(yīng)用程序編程的接口,(Application Programming Interface),,簡(jiǎn)稱,Windows API,。,如,CreateWindow,就是一個(gè),API,函數(shù),應(yīng)用程序中調(diào)用這個(gè)函數(shù),操作系統(tǒng)就會(huì)按照該函數(shù)提供的參數(shù)信息產(chǎn)生一個(gè)相應(yīng)的窗口。這些,API,函數(shù)都在,windows.h,中聲明

3、。,2023/9/211前言 什么是 Windows API?,2024/11/14,2,什么是,MFC,?,MFC,英文全稱為,Microsoft Foundation Classes,(微軟基礎(chǔ)類庫(kù)),是把,Windows API,進(jìn)行封裝的類庫(kù),它是一個(gè)類的集合,通過(guò)覆蓋,Windows API,,為編程提供了一個(gè),面向?qū)ο?的界面。,MFC,使,Windows,程序員能夠利用,C+,面象對(duì)象的特性進(jìn)行編程。,前言,2023/9/212什么是 MFC?MFC,2024/11/14,3,為什么要使用,MFC,?,可重用性,封裝后使方法和屬性更緊密的捆綁,常用的功能自動(dòng)化,減少編寫代碼的數(shù)量

4、,提供應(yīng)用程序的框架結(jié)構(gòu),框架結(jié)構(gòu)提供了抽象功能,它遠(yuǎn)遠(yuǎn)超出了,Windows API,的功能。例如:,MFC,的文檔,/,視圖體系結(jié)構(gòu)在,API,上建造了一個(gè)功能強(qiáng)大的基礎(chǔ)結(jié)構(gòu),它把程序中數(shù)據(jù)的圖形表示(或成為視圖)與數(shù)據(jù)本身分開(kāi)。這種抽象對(duì),API,而言完全是陌生的,而且在,MFC,框架結(jié)構(gòu)之外或類似的類庫(kù)中也不存在。,前言,2023/9/213為什么要使用MFC?可重用性前言,2024/11/14,4,Windows,程序內(nèi)部運(yùn)行機(jī)制,Windows,編程模型,事件驅(qū)動(dòng)編程模型,以消息為基礎(chǔ),事件驅(qū)動(dòng)之,WM_PAINT,WM_KEYDOWN,WM_LBUTTONDOWN,消息響應(yīng),消息

5、響應(yīng),消息響應(yīng),DefWindowProc,來(lái)源于操作系統(tǒng)的消,息,消,息隊(duì)列,WinMain,消息循環(huán),發(fā)送消息,窗口過(guò)程,未處理的消息,應(yīng)用程序,窗口,2023/9/214Windows 程序內(nèi)部運(yùn)行機(jī)制Wind,2024/11/14,5,Windows,程序內(nèi)部運(yùn)行機(jī)制,小小知識(shí)點(diǎn),“,句柄”,句柄(,HANDLE,),資源的標(biāo)識(shí)。,操作系統(tǒng)要管理和操作這些資源,都是通過(guò)句柄來(lái)找到對(duì)應(yīng)的資源。按資源的類型,又可將句柄細(xì)分成圖標(biāo)句柄(,HICON,),光標(biāo)句柄(,HCURSOR,),窗口句柄(,HWND,),應(yīng)用程序?qū)嵗浔?HINSTANCE,)等等各種類型的句柄。操作系統(tǒng)給每一個(gè)窗口

6、指定的一個(gè)唯一的標(biāo)識(shí)號(hào)即窗口句柄。,2023/9/215Windows 程序內(nèi)部運(yùn)行機(jī)制小小知識(shí),2024/11/14,6,Windows,程序內(nèi)部運(yùn)行機(jī)制,編寫,Windows,應(yīng)用程序的要素,消息響應(yīng),消息響應(yīng),消息響應(yīng),DefWindowProc,WinMain,消息循環(huán),發(fā)送消息,窗口過(guò)程,未處理的消息,應(yīng)用程序,1,入口函數(shù),WinMain,2,創(chuàng)建窗口,3,發(fā)送消息與消息循環(huán),4,窗口過(guò)程與消息響應(yīng),消息,窗口,2023/9/216Windows 程序內(nèi)部運(yùn)行機(jī)制編寫Wi,2024/11/14,7,窗口類第二個(gè)成員變量,lpfnWndProc,指定了這一類型窗口的過(guò)程函數(shù),也稱,回

7、調(diào)函數(shù),。,回調(diào)函數(shù)的原理是這樣的,當(dāng)應(yīng)用程序收到給某一窗口的消息時(shí)(還記得前面講過(guò)的消息通常與窗口相關(guān)的嗎?),就應(yīng)該調(diào)用某一函數(shù)來(lái)處理這條消息。這一,調(diào)用過(guò)程不用應(yīng)用程序自己來(lái)實(shí)施,而由操作系統(tǒng)來(lái)完成,,但是,回調(diào)函數(shù)本身的代碼必須由應(yīng)用程序自己完成。,對(duì)于一條消息,操作系統(tǒng)到底調(diào)用應(yīng)用程序中的哪個(gè)函數(shù)(回調(diào)函數(shù))來(lái)處理呢?操作系統(tǒng)調(diào)用的就是接受消息的窗口所屬的類型中的,lpfnWndProc,成員指定的函數(shù)。每一種不同類型的窗口都有自己專用的回調(diào)函數(shù),該函數(shù)就是通過(guò),lpfnWndProc,成員指定的。,Windows,程序內(nèi)部運(yùn)行機(jī)制,窗口過(guò)程函數(shù),2023/9/217 窗口類第二個(gè)成

8、員變量lpfnWn,2024/11/14,8,Windows,程序內(nèi)部運(yùn)行機(jī)制,創(chuàng)建窗口,創(chuàng)建一個(gè)完整的窗口需要經(jīng)過(guò)下面四個(gè)操作步驟:,Step1:,設(shè)計(jì)一個(gè)窗口類;,Step2:,注冊(cè)窗口類;,Step3:,創(chuàng)建窗口;,Step4:,顯示及更新窗口。,2023/9/218Windows 程序內(nèi)部運(yùn)行機(jī)制創(chuàng)建窗口,2024/11/14,9,Windows,程序內(nèi)部運(yùn)行機(jī)制,WM_PAINT,Windows,把一個(gè)最小的需要重繪的正方形區(qū)域叫做,“無(wú)效區(qū)域”,。當(dāng),Windows,發(fā)現(xiàn)了一個(gè)“無(wú)效區(qū)域“后,它就會(huì)向該應(yīng)用程序發(fā)送一個(gè),WM_PAINT,消息,通知應(yīng)用程序重新繪制窗口。,當(dāng)窗口從無(wú)

9、到有、改變尺寸、最小化后再恢復(fù)、被其他窗口遮蓋后再顯示時(shí),窗口的客戶區(qū)都將變?yōu)闊o(wú)效。,那么,應(yīng)用程序是如何通知操作系統(tǒng)執(zhí)行某個(gè)功能的呢?,2023/9/219Windows 程序內(nèi)部運(yùn)行機(jī)制WM_P,2024/11/14,10,Windows,程序內(nèi)部運(yùn)行機(jī)制,自行發(fā)送消息的兩種方式,發(fā)送消息可以使用,SendMessage,和,PostMessage,函數(shù)。,SendMessage,將消息,直接發(fā)送給窗口,,并,調(diào)用該窗口過(guò)程,進(jìn)行處理。在窗口過(guò)程對(duì)消息處理完畢后,該函數(shù)才返回。,PostMessage,函數(shù),將消息放入,與創(chuàng)建窗口的線程相關(guān)聯(lián)的,消息隊(duì)列,后立即返回。,2023/9/211

10、0Windows 程序內(nèi)部運(yùn)行機(jī)制自行發(fā),2024/11/14,11,虛函數(shù)與多態(tài)性,當(dāng),C+,編譯器在編譯的時(shí)候,發(fā)現(xiàn)基類的函數(shù)是虛函數(shù),這個(gè)時(shí)候,C+,就會(huì)采用遲綁定(,late binding,)的技術(shù),在運(yùn)行時(shí),依據(jù)對(duì)象的類型(在示例程序中,我們傳遞的派生類對(duì)象的地址)來(lái)確認(rèn)調(diào)用的哪一個(gè)函數(shù),這種能力就做,C+,的,多態(tài)性,。,在基類的函數(shù)前加上,virtual,關(guān)鍵字,該函數(shù)則為,虛函數(shù),。虛函數(shù)派生下去仍為虛函數(shù),而且可以省略,virtual,關(guān)鍵字。,在派生類中重寫該函數(shù),,運(yùn)行時(shí)將會(huì)根據(jù)指針實(shí)際所指的對(duì)象的類型來(lái)調(diào)用相應(yīng)的函數(shù),。如果對(duì)象類型是派生類,就調(diào)用派生類的函數(shù);如果對(duì)

11、象類型是基類,就調(diào)用基類的函數(shù)。,掌握,C+,2023/9/2111虛函數(shù)與多態(tài)性 當(dāng)C+編,2024/11/14,12,純虛函數(shù)與抽象類,純虛函數(shù),是指被標(biāo)明為不具體實(shí)現(xiàn)的虛函數(shù)。純虛函數(shù)可以讓類先具有一個(gè)操作名稱,而沒(méi)有操作內(nèi)容,讓派生類在繼承時(shí)再去具體地給出定義。凡是含有純虛函數(shù)的類叫做,抽象類,。這種可不能實(shí)例化對(duì)象,只能作為基類為派生類服務(wù)。,注意:,派生類中必須實(shí)現(xiàn)基類的純虛函數(shù),否則,派生類也變成了抽象類,不能實(shí)例化對(duì)象。,純虛函數(shù)多用在一些方法行為的實(shí)際上。在設(shè)計(jì)基類時(shí),不太好確定或?qū)?lái)的行為多種多樣,而此行為又是必需的,我們就可以在基類的設(shè)計(jì)中,以純虛函數(shù)來(lái)聲明次中行為,而不

12、具體實(shí)現(xiàn)它。,掌握,C+,2023/9/2112純虛函數(shù)與抽象類 純虛函數(shù),2024/11/14,13,const,的使用方法,const,成員函數(shù),任何不會(huì)修改數(shù)據(jù)成員的函數(shù)都應(yīng)該聲明為,const,類型,。如果在編寫,const,成員函數(shù)時(shí),不慎修改了數(shù)據(jù)成員,或者調(diào)用了其它非,const,成員函數(shù),編譯器將指出錯(cuò)誤,這無(wú)疑會(huì)提高程序的健壯性。,2023/9/2113const的使用方法const成員函數(shù),2024/11/14,14,類中的,Static,成員變量與函數(shù),靜態(tài)成員函數(shù)與變量的特性,靜態(tài)成員函數(shù)和靜態(tài)成員變量屬于類本身,在類加載的時(shí)候(編譯階段),即為它們分配了空間,因此可以

13、通過(guò),類名,:,函數(shù)名,或,類名,:,變量名,來(lái)訪問(wèn)。,而非靜態(tài)函數(shù)和非靜態(tài)成員屬于對(duì)象的方法和數(shù)據(jù),也就是應(yīng)該首先產(chǎn)生類的對(duì)象,然后通過(guò)類的對(duì)象去引用。,靜態(tài)函數(shù)不屬于某個(gè)具體的對(duì)象,也就是說(shuō),在還沒(méi)有產(chǎn)生類的任何一個(gè)具體對(duì)象時(shí),靜態(tài)函數(shù)就已經(jīng)存在于程序的代碼區(qū)了。但這是類的非靜態(tài)成員還沒(méi)有分配內(nèi)存空間,這樣,在靜態(tài)成員函數(shù)中是沒(méi)有辦法對(duì)類非靜態(tài)成員進(jìn)行操作的。因此,,在靜態(tài)成員函數(shù)中只能訪問(wèn)靜態(tài)成員變量,不能訪問(wèn)非靜態(tài)成員函數(shù)和非靜態(tài)成員變量,。非靜態(tài)成員函數(shù)中可以調(diào)用靜態(tài)成員函數(shù)。,2023/9/2114類中的Static成員變量與函數(shù)靜態(tài)成,2024/11/14,15,MFC,框架程序

14、剖析,MFC,單文檔界面程序初探(簡(jiǎn)答題),test,.h,、,test.cpp,應(yīng)用程序類:,CTestApp,(由,CWinApp,繼承而來(lái)),每一個(gè),MFC,程序有且僅有一個(gè)主應(yīng)用程序類對(duì)象,theApp,,它代表一個(gè)程序本體,用于管理和維護(hù)主應(yīng)用程序,MainFrm,.h,、,MainFrm,.cpp,主框架類,C,MainFrame,(由,CWnd,繼承而來(lái)),主框架是應(yīng)用程序的主體窗口,其他的窗口(如視類窗口、工具條、狀態(tài)條)都依附于主框架窗口(覆蓋在它上面)。,2023/9/2115MFC框架程序剖析MFC單文檔界面程序,2024/11/14,16,MFC,框架程序剖析,MFC,

15、單文檔界面程序初探(續(xù)),testView.,h,、,testView.cpp,視圖類:,CTestView,(由,CWnd,繼承而來(lái)),負(fù)責(zé)管理和維護(hù)圖形顯示操作。,testDoc,.h,、,testDoc,.cpp,文檔類:,CTestDoc,(由,CDocumet,繼承而來(lái)),負(fù)責(zé)顯示數(shù)據(jù)的后臺(tái)管理和維護(hù)。,2023/9/2116MFC框架程序剖析MFC單文檔界面程序,2024/11/14,17,MFC,框架程序剖析,MFC,中的全局對(duì)象,theApp,初始化,CTestAPP,對(duì)象,應(yīng)用程序內(nèi)存獲得配置,調(diào)用基類,CWinApp,構(gòu)造函數(shù)(在,MFC,源碼目錄的文件中,AppCore.

16、cpp,),初始化完成程序運(yùn)行時(shí)的一些初始化工作。,注意:,由于,theApp,是個(gè)全局對(duì)象,,所以,CWinApp,構(gòu)造函數(shù)會(huì)在入口函數(shù),WinMain,之前運(yùn)行,。,2023/9/2117MFC框架程序剖析MFC中的全局對(duì)象t,2024/11/14,18,圖形操作,設(shè)備描述表,DC,在,Windows,平臺(tái)下,窗口的所有圖形操作都是利用,DC,來(lái)完成的。,如果使用,GetDC,來(lái)得到,DC,的句柄,在完成圖形操作后,必須調(diào)用,ReleaseDC,來(lái)釋放,DC,所占用的資源,以避免內(nèi)存泄漏。,利用計(jì)算機(jī)作圖,窗口相當(dāng)于畫布,因此,在獲取,DC,的句柄時(shí),總是和一個(gè)指定的窗口相關(guān)聯(lián)。,2023/9/2118圖形操作設(shè)備描述表DC在Windows,2024/11/14,19,簡(jiǎn)單繪圖,利用,CClientDC,、,CWindowDC,類繪圖(簡(jiǎn)答題),CClientDC,派生于,CDC,類,并且在構(gòu)造時(shí)調(diào)用,GetDC,函數(shù),在析構(gòu)時(shí)調(diào)用,ReleaseDC,函數(shù)。它與,CDC,一樣,都是實(shí)現(xiàn)在窗口的,客戶區(qū),繪圖。,CWindowDC,派生于,CDC,類,并且在構(gòu)造時(shí)調(diào)用,GetWin

展開(kāi)閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  sobing.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!