等的實現。
[1]尤其是其中的類別型錄網的建立過程值得學習。
1、mfc
對於訊息迴圈的規定:
(1) 如果是普通的
windows
訊息,則一定由派生類流向基類,不會有迂迴。
(2) 如果是命令訊息(
wm_command
),則路徑十分複雜,下面總結命令訊息的傳遞。
mfc為命令訊息搜尋相應訊息處理函式的過程是:由選單、工具欄等使用者介面物件產生的命令訊息,首先送給主框架視窗的標準
mfc視窗函式;然後,視窗函式把命令傳給
mfc表 命令訊息的迂迴搜尋路徑
程式型別
路徑sdi(單文件)
當前檢視→當前文件→文件模板→主框架視窗→應用程式物件
mdi(多文件)
當前檢視→當前文件→建立文件的文件模板→活動的子框架視窗→主框架視窗→應用程式物件
對話方塊 當前對話方塊→對話方塊的父視窗→應用程式物件
最後如果都找不到,則由預設的windows
訊息處理函式結束該命令訊息。
為了提高訊息匹配的效率,mfc
內部有乙個訊息緩衝池,使用以訊息值為關鍵字的雜湊(雜湊)查詢,池中可存放
512條最近使用過的訊息對映入口表項的有關資訊(注意只需放入口表項,即兩個指標)。只有在訊息緩衝池中匹配不到才進行前文所敘的搜尋過程。
[2]參考
[1] 深入淺出
mfc[2]
深入淺出MFC筆記
深入淺出mfc筆記 一 勿在浮砂築高台 1 並不是擴充套件名為 dll dynamic link library 的才是動態鏈結庫。事實上,exe dll fon mod drv 和.ocx 都是所謂的動態鏈結函式庫。2 windows 程式編譯時需要包含 windows.h 標頭檔案,若需要使用諸...
深入淺出MFC學習筆記 訊息
本章將會對mfc的訊息對映和 命令傳遞機制做深入 mfc規定了訊息傳遞的路線,訊息會按照這個路線傳遞下去,找不到歸宿的話就交給defwindowproc。在產生視窗之前,如果我們在建立視窗時指定的視窗類為null時,mfc會自動註冊五個預設的視窗類,每個視窗類有自己的視窗函式。不同視窗得到的訊息應該...
《深入淺出MFC》筆記(三)
1,win32 console程式示例 include include include include const int filemax 300 allow max.300 files in each directory typedef struct destfile destfile typed...