- 相關(guān)推薦
MFC中消息映射機制分析
摘 要:MFC以層次結構組織起來(lái),比較龐雜,尤其是它的消息映射機制,更是涉及到很多底層的東西。本文通過(guò)對整個(gè)消息映射機制進(jìn)行系統的分析,可以幫助程序開(kāi)發(fā)人員更好地了解MFC,進(jìn)行可視化編程。
關(guān)鍵詞:消息驅動(dòng);消息映射;MFC 程序設計
1 引言
微軟公司提供的MFC基本類(lèi)庫(Microsoft Foundation Classes),是進(jìn)行可視化編程時(shí)使用最為流行的一個(gè)類(lèi)庫。MFC封裝了大部分Windows API函數和Windows控件,使得程序的開(kāi)發(fā)變得簡(jiǎn)單,極大的縮短了程序的開(kāi)發(fā)周期。MFC獨創(chuàng )的Document/View框架結構,能夠將管理數據的代碼和顯示數據的程序代碼分開(kāi),并且設計了一套方便的消息映射和命令傳遞機制,方便程序員的開(kāi)發(fā)使用。其中消息映射機制本身比較龐大和復雜,對它的分析和了解無(wú)疑有助于我們寫(xiě)出更為合理的高效的程序。這里我們分析一下MFC的消息映射機制,以了解MFC是如何對Windows的消息加以封裝,方便用戶(hù)的開(kāi)發(fā)。
2 SDK下的消息機制實(shí)現
首先,簡(jiǎn)單回顧一下SDK下我們是如何進(jìn)行Windows的程序開(kāi)發(fā)的。Windows程序的運行是依靠外部發(fā)生的事件來(lái)驅動(dòng)的,事件由操作系統捕捉,以消息的形式進(jìn)入消息隊列,然后通過(guò)消息循環(huán)從隊列中不斷取出消息,送到對應的窗口過(guò)程里處理。相對于DOS程序,Windows是以WinMain作為程序的入口點(diǎn),以下就是一個(gè)簡(jiǎn)化的Win32程序的主體,通過(guò)while語(yǔ)句實(shí)現消息循環(huán):
WinMain(…)
{
MSG msg;
RegisterClass(…); // 注冊窗口類(lèi)
CreateWindow(…); // 創(chuàng )建窗口
ShowWindow(…); // 顯示窗口
UpdateWindow(…);
While(GetMessage(
【MFC中消息映射機制分析】相關(guān)文章:
TinyOS消息通訊機制以及TOSBase無(wú)線(xiàn)-串口通訊組件分析03-07
基于OPNET的IEEE 802.11e協(xié)議中HCF機制仿真與分析03-30
RPR與SDH保護機制的對比分析03-20
公司治理機制選擇的權變性分析03-18
人臉的檢測定位MFC+VC++03-08
公共政策的集體選擇機制分析03-21