日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《深入浅出MFC》第六章 MFC程序的生死因果

發(fā)布時間:2025/3/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《深入浅出MFC》第六章 MFC程序的生死因果 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

SDK程序設計的第一要務是理解最重要的數(shù)個API函數(shù)的意義和用法,MFC程序設計的第一要務則是理解幾個最重要的類,最基本的兩個類為CWin App和CFrameWnd。

開發(fā)MFC程序需要的函數(shù)庫:Windows C Runtime函數(shù)庫(LIBC.LIB靜態(tài)鏈接版本,MSVCRT.LIB,MSVCRTD.LIB)。DLL Import函數(shù)庫(GDI32.LIB,USER32.LIB,KERNEL32.LIB等)。MFC函數(shù)庫(AFX函數(shù)庫)(MFC42.LIB等)。

STDAFX.h是作為預編譯頭文件的,由開發(fā)環(huán)境自動生成。

MFC程序的兩個主要的類,CFrameWnd代表主裝口,CWinApp是一個全局對象,代表整個Application。

在通常的SDK程序中,程序主體在于WinMain和WndProc。在MFC中CWinApp取代WinMain,CFrameWnd取代WndProc。CWinAPP用來處理程序進入點并啟動消息循環(huán),CFrameWnd用來處理消息循環(huán)與消息映射。CWinApp中保存由CWnd指針,CWnd表示一個窗口,是CFrameWnd的父類。

CWinApp中的成員變量因為theApp這個全局對象而獲得配置與初始化,并且該全局對象一定存在并且是唯一的。App初始化完成后,WinMain登場,WinMain的引入點并不需要程序員添加,而是由鏈接器直接添加到程序代碼中。WinMain的引入點在MFC的WINMAIN.cpp程序代碼中。

在MFC的WinMain中通過全局函數(shù)AfxGetApp獲取全局唯一的Application對象。在獲取全局Application后調用全局函數(shù)AfxWinInit函數(shù)進一步初始化Application對象并設置線程相關設置。繼續(xù)調用全局Application對象的InitApplication函數(shù),這些操作為MFC內部管理。AfxWinMain之后調用Application->InitInstance函數(shù),注意應用程序一定要改寫InitInstance虛函數(shù),因為它在父類中是一個空函數(shù),而通常不需要改寫InitApplication和Run。在InitInstance中實例化CFrameWnd對象,這會生成一個窗口,在生成窗口之前會執(zhí)行窗口注冊動作。通過調用類的PreCreateWindow函數(shù)進行窗口注冊,因此不同的類將使用不同的窗口類。而后InitInstance通過調用ShowWindow顯示窗口,通過調用UpdateWindow()發(fā)送WM_Paint消息。運行Application->Run以后將啟動消息循環(huán),在消息循環(huán)中把消息送往MFC全局函數(shù)AfxWinProc中,在改函數(shù)中MFC采用Messagep map機制進行消息映射。通過MFC特定的消息映射宏,程序員可以很方便的進行消息與處理函數(shù)的映射。MFC主要把消息分為三大類,標準Windows消息(WM_xxx形式)的消息處理函數(shù)使用系統(tǒng)默認的名稱,如OnPaint,OnClose等,因此在Message map機制中不需要指定具體的處理函數(shù),只需調用相應的宏如ON_WM_PAINT()。命令消息的一般形式為ON_COMMAND(IDM_ABOUT,OnAbout)。Notification消息,由控件產生,一般形式為ON_BN_CLICKED(<id>,<memberFxn>)。各個消息的處理函數(shù)均應以afx_msg void為函數(shù)原型。如果某個消息在MessageMap中沒有找到對應的映射記錄,則消息會向基類流竄,這稱為消息路由,如果一直找不到處理程序,消息將由默認函數(shù)來處理。MFC中派生自CCmdTarget的類都可以設定自己的Message Map,因為他們都可以接收到消息。

?可以通過調用PostQuitMessage函數(shù)發(fā)出WM_QUIT消息結束程序,消息循環(huán)收到WM_QUIT消息后結束循環(huán),然后調用Application->ExitInstance,然后返回到AfxWinMain結束程序。

注意,如果類的成員函數(shù)是一個callback函數(shù),必須使用static修飾。凡聲明為static的函數(shù)或變量,都不和對象結合在一起,他們屬于類的一部分而不屬于對象。

通過重寫CWinApp的OnIdle函數(shù)可以處理空閑時間,重寫OnIdle時要Return True。

構造CDialog對話框時,傳遞對話框的模板資源名稱和對話框的Master,然后調用CDialog::DoModal即可顯示對話框。MFC提供了多種通用對話框,使用這些對話框非常簡單,調用DoModal即可顯示對話框,根據(jù)DoModal的返回結果獲取相應的用戶操作結果。

?

轉載于:https://www.cnblogs.com/jefflee/p/6414937.html

總結

以上是生活随笔為你收集整理的《深入浅出MFC》第六章 MFC程序的生死因果的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲 欧美 中文字幕 | 欧美日韩在线不卡 | 极品熟妇大蝴蝶20p 国产偷自拍视频 | 国产成人精品a视频 | 欧美一级淫片007 | 岛国一区二区三区 | 秋霞视频一区二区 | 欧美激情视频在线 | 成人伊人 | 亚洲色图欧美另类 | 国产视频一区二区三区四区五区 | 影音先锋制服丝袜 | 91国在线啪 | 亚洲日本韩国在线 | www国产www | 私密视频在线观看 | 亚洲综合涩 | 亚洲经典视频在线观看 | 99久久婷婷国产综合精品电影 | 亚洲天堂第一 | 欧美脚交 | 国产精品成av人在线视午夜片 | 亚洲成人麻豆 | 国产精品久久久久久久久久免费 | 九九综合网 | 国产91在线观看丝袜 | 日韩av手机在线播放 | 又骚又黄的视频 | 性欧美高清 | 精品成人一区二区三区久久精品 | 日本视频在线观看 | av拍拍拍| 国产精品久久久久久久久 | 波多野结衣在线视频播放 | 国产成人精品一区二 | 亚洲av成人精品一区二区三区在线播放 | 国产又粗又黄 | 国产亚洲女人久久久久毛片 | 理论片毛片 | 欧美做受69| 国产欧美视频在线观看 | 国产51精品 | 日韩在线视频不卡 | 91麻豆网 | 人人人草 | 大陆极品少妇内射aaaaa | 在线免费观看小视频 | 亚洲成色在线 | 殴美一区二区 | 日韩欧美亚洲成人 | 国偷自产av一区二区三区麻豆 | 欧美人成在线视频 | 欧美韩日一区二区 | 在线观看毛片网站 | 亚洲熟女一区二区 | 亚洲成人一级片 | 拍真实国产伦偷精品 | 黑人糟蹋人妻hd中文字幕 | 狠狠一区 | 国产伦精品一区二区三区免费迷 | 韩国主播青草200vip视频 | 久久久一区二区三区四区 | 色就色综合| 成人在线直播 | 九九自拍偷拍 | 亚洲午夜久久 | 婷婷综合在线视频 | 奇米影视亚洲春色 | 91pao| 国产蜜臀av一区二区 | 亚洲精品乱码久久久久久蜜桃不卡 | 99久国产 | 久射网 | 天天搞天天搞 | 国产日韩在线观看视频 | 欧美久久久久久又粗又大 | 欧美日韩视频在线观看一区 | 美国爱爱视频 | 国产三级av在线播放 | 午夜精品久久久内射近拍高清 | 亚洲a黄| 伊人影院综合 | 欧美激情视频一区二区三区不卡 | 日韩福利一区二区 | 在线观看免费高清 | 国产极品在线播放 | 精品98| 亚洲29p| 天天爱夜夜操 | av免费观看入口 | 色婷婷久久久亚洲一区二区三区 | 亚洲天堂网站在线 | 日韩高清影视 | 日韩免费视频一区 | 成年人av在线播放 | 91国产丝袜在线播放 | 丁香七月激情 | 国产综合欧美 | 久久亚洲天堂 |