MFC框架程式解析

2021-09-09 01:26:15 字數 915 閱讀 4394

mfc的 程式框架:

mfc訊息對映機制的具體實現方法:在每個能接收和處理訊息的類中,定義乙個訊息和訊息函式靜態對照表,在訊息對映表中,訊息與對應的訊息處理函式指標式成對出現的。某個類能處理的所有訊息及其對應的訊息處理函式的位址都列在這個類所對應的靜態表中。當有訊息需要處理時,程式只要搜尋該訊息靜態表,檢視表中是否含有該訊息,就可知道該類能否處理此訊息,如果能處理該訊息,則同樣依據靜態錶能很容易的找到並呼叫對應的訊息處理函式。

模態對話方塊和非模態對話方塊的區別:

按工作方式不同,可將對話方塊分成兩類: 

1、模態對話方塊:在關閉模式對話方塊之前,程式不能進行其他工作(如一般的「開啟檔案」對話方塊)

建立模態對話方塊 

ctestdlg dlg;

dlg.domodal();

2、 非模態對話方塊:非模態對話方塊開啟後,程式仍然能夠進行其他工作(如一般的「查詢與替換」對話方塊) 

ctestdlg * dlg = new

ctestdlg;

dlg->create(idd_test_dlg);

dlg->showwindow(sw_show);

因為是用new操作符構建非模態對話方塊物件,因此必須在對話方塊關閉後,用delete操作符刪除對話方塊物件。在螢幕上乙個視窗被刪除後,框架會呼叫cwnd::postncdestroy,這是乙個虛函式,程式可以在該函式中完成刪除視窗物件的工作,具體**如下:

void

cmodelessdialog::postncdestroy

這樣,在刪除螢幕上的對話方塊後,對話方塊物件將被自動刪除。擁有者就不必顯式地呼叫delete來刪除對話方塊物件了。

MFC框架程式解析

mfc的 程式框架 mfc訊息對映機制的具體實現方法 在每個能接收和處理訊息的類中,定義乙個訊息和訊息函式靜態對照表,在訊息對映表中,訊息與對應的訊息處理函式指標式成對出現的。某個類能處理的所有訊息及其對應的訊息處理函式的位址都列在這個類所對應的靜態表中。當有訊息需要處理時,程式只要搜尋該訊息靜態表...

MFC框架程式剖析

1 mfc microsoftfoundation class,微軟基礎類庫 是微軟為了簡化程式設計師的開發工作所開發的一套c 類的集合,是一套物件導向的函式庫,以類的方式提供給使用者使用 二 基於mfc的程式框架剖析 1 mfc程式的classview標籤頁 圖 2 繼承關係 1 cmainfra...

MFC框架程式剖析

mfc程式的執行過程 4 進入訊息迴圈。雖然也設定了預設的視窗過程函式,但是mfc應用程式實際上是採用訊息對映機制來處理各種訊息的。當收到wm quit訊息時,退出訊息迴圈,程式結束。面已經知道,在乙個windows程式中,winmain函式作為程式的入口函式,乙個程式的是 設計視窗 給視窗設定相應...