亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

MFC 程序入口和執行流程

2019-11-10 19:14:27
字體:
來源:轉載
供稿:網友

一 MFC程序執行過程剖析

1)我們知道在WIN32API程序當中,程序的入口為WinMain函數,在這個函數當中我們完成注冊窗口類,創建窗口,進入消息循環,最后由操作系統根據發送到程序窗口的消息調用程序的窗口函數。而在MFC程序當中我們不在能找到類似WinMain這樣的程序入口,取而代之的是一系列派生類的聲明和定義以及一個沖CWinApp類派生而來的類的全局對象。CWinApp類被稱之為應用程序對象,在一個MFC程序當中只允許有一個應用程序對象。由于CWinApp的派生對象是全局的,因此這個對象的構造函數會在所有的其他代碼運行之前被調用,而由于CWinApp類當中包含了HWND、HINSTANCE等句柄的存在,其構造函數就執行了對這些成員數據的初始化操作,這里的所謂初始化僅僅是把所有的句柄對象賦值為NULL。

2)在調用完CWinApp的構造函數以后由連接器向程序內自動鏈接的AfxWinMain函數將被調用,而這個函數可以被看作MFC程序的入口函數。在這個函數當中調用全局AfxGetApp()函數獲得應用程序對象,這時將調用AfxInit全局函數,這個函數的功能是使用操作系統傳遞給AfxWinMain函數的參數初始化應用程序對象當中的相關句柄數據成員。

3)之后AfxWinMain函數調用CWinApp::Initapplication成員函數,這個成員函數用來初始化應用程序對象當中的關于文檔部分的內容。

4)隨后調用CWinApp::InitInstance成員函數,在這個成員函數當中,使用new操作在堆上聲明一個框架窗口對象,由此導致框架窗口對象的構造函數被調用,在框架窗口構造函數當中調用Create函數來創建窗口,而調用的Create函數一般將WNDCLASS參數設置成NULL,這樣就由MFC內部調用PReCreateWindow函數,在這個函數當中由MFC注冊幾個默認的WNDCLASS供框架窗口的Create使用。這時程序控制權交還給CWinApp::InitInstance成員函數內部,由這個函數調用CWnd::ShowWindow顯示窗口并且調用CWnd::UpdateWindow向窗口發送WM_PAINT消息。調用完CWinApp::InitInstance成員函數后由AfxWinMain函數調用CWinApp::Run成員函數,并由這個函數來創建和處理消息循環,并且在沒有消息的時候處理OnIdle空閑處理。至此整個程序的創建過程完成。 5)在程序的運行過程當中,由操作系統源源不斷的發送消息給應用程序,并且由CWinApp::Run當中的消息循環處理并且分發給相關的窗口對象的DefWindowProc成員函數,并由這個成員函數查詢窗口對象的消息映射表,如果查到對應項,則由登記在消息映射表當中的類成員函數處理,否則則按照Message Route當中的順序象父層類發送。 6)在消息運行結束,用戶按下關閉按鈕后,操作系統向程序發送WM_CLOSE消息,默認狀況下程序調用DestoryWindow并且發送WM_DESTORY消息,應用程序接受到這個消息以后的默認操作是調用PostQuitMessage函數,由這個函數發送WM_QUIT消息。當程序對象接受到WM_QUIT消息后消息循環結束,由AfxWinMain函數調用AfxTerm函數清理程序使用過的資源并且結束整個程序。小結:以上的所有描述涵蓋了一個程序從開始、運行到結束的所有過程。 相信大家有點暈點了吧,實際編程中沒有必要深刻理解這么多,這些大都是由MFC內部自動幫我們完成的。實際MFC編程過程中,其實懂得MFC程序中各個函數的執行流程即可。有時候過于追究MFC細節會白白浪費我們的精力,應該將主要精力放在使用MFC解決實際問題上。

 二 VC6中SDI程序的執行流程下面以VC6中的sdi工程為例,通過給每個函數前設置斷點后調式執行,可以看出MFC的SDI的執行流程。記錄如下,希望對MFC執行有疑惑的人有幫助。1)CSdiApp theApp;          //sdi.cpp2)CSdiApp::CSdiApp()             //sdi.cpp3)BOOL CSdiApp::InitInstance()         //sdi.cpp4)CSdiDoc::CSdiDoc()                   //sdiDoc.cpp5)CMainFrame::CMainFrame()          //MainFrm.cpp6)BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)    //MainFrm.cpp7)int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)    //MainFrm.cpp8)CSdiView::CSdiView()                     //sdiView.cpp9)BOOL CSdiView::PreCreateWindow(CREATESTRUCT& cs)         //sdiView.cpp10)BOOL CSdiDoc::OnNewDocument()                //sdiDoc.cpp11) void CSdiView::OnDraw(CDC* pDC)                //sdiView.cpp// ---------------- 關閉窗口后-------------------------------------12) CSdiView::~CSdiView()13) CMainFrame::~CMainFrame()14) CSdiDoc::~CSdiDoc() 
上一篇:最大子段和

下一篇:面向過程(3)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97久久国产精品| 欧美日韩国内自拍| 欧美在线视频一二三| 国模精品系列视频| 精品国模在线视频| 91免费国产视频| 亚洲在线观看视频网站| 国产精品成熟老女人| 国产精品白丝av嫩草影院| 久久福利网址导航| 亚洲一区二区三区乱码aⅴ| 日韩中文字幕在线看| 成人精品久久一区二区三区| 日本精品视频在线| 色婷婷av一区二区三区在线观看| 亚洲国产精品女人久久久| 亚洲最大的网站| 国产精品视频播放| 性视频1819p久久| 亚洲女人被黑人巨大进入| 亚洲欧美国产精品| 亚洲一区二区久久| 亚洲欧美日韩天堂一区二区| 国产亚洲激情视频在线| 久久久精品免费| 亚洲综合一区二区不卡| 国产精品丝袜白浆摸在线| 亚洲精品suv精品一区二区| 成人精品一区二区三区电影黑人| 91在线观看欧美日韩| 久久91精品国产| 久久免费观看视频| 亚洲国产一区二区三区在线观看| 国产一区二区三区在线| 深夜福利一区二区| 亚洲第一网站男人都懂| 在线观看国产成人av片| 亚洲美女福利视频网站| 久久久成人的性感天堂| 精品香蕉在线观看视频一| 中文字幕v亚洲ⅴv天堂| 97在线观看视频国产| 免费97视频在线精品国自产拍| 国产91ⅴ在线精品免费观看| 97视频在线观看亚洲| 欧美综合一区第一页| 国内精品久久影院| 日韩毛片在线观看| 精品色蜜蜜精品视频在线观看| 国产精品久久久久久久久借妻| 岛国av一区二区在线在线观看| 亚洲国产欧美一区二区丝袜黑人| 亚洲欧美日韩视频一区| 欧美特级www| 91高清免费在线观看| 国产亚洲欧洲高清| 久久福利视频导航| 欧美高清视频在线播放| 国产精品日韩在线一区| 日韩**中文字幕毛片| 亚洲美女精品成人在线视频| 在线丨暗呦小u女国产精品| 红桃av永久久久| 精品国产老师黑色丝袜高跟鞋| 亚洲欧洲日产国码av系列天堂| 性金发美女69hd大尺寸| 久久影视电视剧凤归四时歌| 国产精品盗摄久久久| 91精品久久久久久久久青青| 高清欧美性猛交xxxx黑人猛交| xvideos亚洲| 国产精品高潮呻吟久久av黑人| 国产精品美女在线观看| 国产精品视频久久久久| 日本久久久久久| 欧美激情视频一区二区| 欧美激情videos| 日韩av片免费在线观看| 91av免费观看91av精品在线| 青草青草久热精品视频在线观看| 青青久久aⅴ北条麻妃| 在线中文字幕日韩| 欧美日韩美女视频| 美日韩精品免费观看视频| 51精品国产黑色丝袜高跟鞋| 麻豆精品精华液| 亚洲最新av网址| 性色av一区二区三区红粉影视| 久久久久久久电影一区| 国产一区二区黄| www国产精品视频| 国产网站欧美日韩免费精品在线观看| 久久精彩免费视频| 国产精品成人观看视频国产奇米| 最新的欧美黄色| 精品国产乱码久久久久久婷婷| 国产97在线|亚洲| 91久久精品国产91久久性色| 麻豆国产精品va在线观看不卡| 欧美日本精品在线| 欧美在线观看一区二区三区| 欧美性xxxxx| 日韩av在线播放资源| 欧美激情视频网址| 国产精品香蕉av| 欧美性猛交xxxx免费看久久久| 色综合影院在线| 亚洲色图15p| 国产精品热视频| 日韩国产高清视频在线| 色噜噜亚洲精品中文字幕| 欧美电影在线免费观看网站| 91成品人片a无限观看| 国产欧美韩国高清| 国内精品400部情侣激情| 国产精品久久久久久亚洲影视| 91久久久亚洲精品| 日韩女优人人人人射在线视频| 亚洲国内精品视频| 国产日本欧美一区二区三区| 欧美激情a在线| 欧美激情视频在线观看| 欧美成人免费大片| 日韩av中文字幕在线免费观看| 国产精品福利无圣光在线一区| 国产主播喷水一区二区| 国产欧美精品一区二区三区-老狼| 久久伊人精品一区二区三区| 国产精品久久久久久av福利软件| 欧美性猛交丰臀xxxxx网站| 欧洲日本亚洲国产区| 国产欧洲精品视频| 日韩一区二区欧美| 亚洲亚裔videos黑人hd| 日韩在线观看视频免费| 97视频com| 成人久久18免费网站图片| 亚洲人成网站777色婷婷| 欧美又大又硬又粗bbbbb| 黄色一区二区三区| 日韩一区二区精品视频| 97香蕉久久超级碰碰高清版| 国产精品国产三级国产专播精品人| 福利微拍一区二区| 性色av一区二区咪爱| 国产亚洲一区二区在线| 欧美人交a欧美精品| 青青久久av北条麻妃黑人| 精品视频在线播放免| 日韩成人在线网站| 久久久精品欧美| 97色在线视频| 日韩在线欧美在线| 日本久久久a级免费| 在线精品视频视频中文字幕| 亚洲性日韩精品一区二区| 日韩中文字幕视频在线观看| 国产色婷婷国产综合在线理论片a| 中文字幕亚洲自拍| 91在线观看欧美日韩| 亚洲第一精品电影| 97视频在线观看免费| 日本中文字幕成人| 国产精品嫩草影院一区二区|