免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
MFC基本介紹
MFC的類層次結(jié)構(gòu):
           
 
 如上圖所示:
           CObject:是MFC提供的絕大多數(shù)類的基類。該類完成動(dòng)態(tài)空間的分配與回收,支持一般的診斷、出錯(cuò)信息處理和文檔序列化等。
           CCmdTarget:主要負(fù)責(zé)將系統(tǒng)事件(消息)和窗口事件(消息),發(fā)送給響應(yīng)這些事件的對(duì)象,完成消息發(fā)送、等待和派遣調(diào)度等工作,實(shí)現(xiàn)應(yīng)用程序的對(duì)象之間協(xié)調(diào)運(yùn)行。
           CWinApp:是應(yīng)用程序的主線程類,它是從CWinThread類派生而來的。CWinThread類用來完成對(duì)線程的控制,包括線程的創(chuàng)建、運(yùn)行、終止和掛起等。
           CDocument:是文檔類,包含了應(yīng)用程序運(yùn)行期間所用到的數(shù)據(jù)。
           CWnd:是一個(gè)通用的窗口類,用來提供Windows中的所有通用特性、對(duì)話框和控件。
           一個(gè)MFC程序,必須包含一個(gè)派生自CWinApp的線程類,即C*App類,每一個(gè)MFC框架程序中都有且只有一個(gè)C*App的全局變量(對(duì)象)即theApp。
           MFC正是利用類的這種"自動(dòng)調(diào)用相應(yīng)的構(gòu)造函數(shù)"特性,使得WinMain()函數(shù)的調(diào)用變成了應(yīng)用程序框架內(nèi)部的調(diào)用,所以我們?cè)诖a中看不到每個(gè)Windows程序所必須有的WinMain()函數(shù)。C++規(guī)定,全局對(duì)象的構(gòu)建將比程序進(jìn)入點(diǎn)(在dos環(huán)境下為main,在Windows環(huán)境為WinMain)更早。所以theApp的構(gòu)造函數(shù)將更早與main。
           C++中子類的構(gòu)造函數(shù)執(zhí)行在父類之后。系統(tǒng)執(zhí)行theApp的夠造函數(shù)時(shí),先調(diào)用基類(CObject-->....CWinApp)的構(gòu)造函數(shù),進(jìn)行一系列的內(nèi)部初始化操作,然后自動(dòng)調(diào)用C*App的虛函數(shù)InitInstance(),該函數(shù)會(huì)進(jìn)一步調(diào)用相應(yīng)的函數(shù)來完成主窗口的構(gòu)造和顯示工作。下面來看看上述程序中InitInstance的執(zhí)行過程。

           首先執(zhí)行的是:

            m_pMainWnd = new CMainFrame;

          該語(yǔ)句用來創(chuàng)建從CFrameWnd類派生而來的用戶框架窗口CMainFrame類對(duì)象,繼而調(diào)用該類的構(gòu)造函數(shù),使得Create函數(shù)被調(diào)用,完成了窗口創(chuàng)建工作。

          然后執(zhí)行后面兩句:

             m_pMainWnd->ShowWindow(m_nCmdShow);
             m_pMainWnd->UpdateWindow();

            用作窗口的顯示和更新。接下來調(diào)用:

            m_pMainWnd->MessageBox("你好,歡迎進(jìn)入MFC世界!");

           最后返回TRUE,表示窗口創(chuàng)建成功。

          InitInstance()完成初始化工作之后,接下來就是調(diào)用基類CWinApp的成員函數(shù)Run(),執(zhí)行應(yīng)用程序的消息循環(huán),即重復(fù)執(zhí)行接收消息并轉(zhuǎn)發(fā)消息的工作。當(dāng)Run()檢查到消息隊(duì)列為空時(shí),將調(diào)用基類CWinApp的成員函數(shù)OnIdle進(jìn)行空閑時(shí)的后臺(tái)處理工作。若消息隊(duì)列為空且又沒有后臺(tái)工作要處理時(shí),則應(yīng)用程序一直處于等待狀態(tài),一直等到有消息為止。

        當(dāng)程序結(jié)束后,調(diào)用基類CWinApp的成員函數(shù)ExitInstance(),完成終止應(yīng)用程序的收尾工作。這就是MFC應(yīng)用程序的運(yùn)行機(jī)制。








本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
技術(shù)資料-【剖析MFC六大關(guān)鍵技術(shù)之初始化過程】
Visual C .NET編程講座之二(3)
MFC內(nèi)部運(yùn)行機(jī)制
Windows編程之MFC窗口程序淺析
MFC 機(jī)制
MFC基于對(duì)話框基礎(chǔ)程序解析
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服