mfc程式的執行過程
1 首先產生全域性的物件
(任何乙個
mfc程式都會產生這樣乙個物件)
2
進入到intafxapi afxwinmain(…)
這個函式中。 3
進入到afxwininit(…
)。
sdk程式
winmain
函式的四個引數
hinstance hinstance,hinstance hprevinstance ,lpstr lpcmdline
在中都是成員變數,在這一步,將
afxwinmain
傳進來的這些引數值賦給
對應的成員變數。 4
呼叫的是
。該函式在
中並未被改寫。
5。呼叫的是
。該函式被改寫了。 6
第5
步中new c**framewnd
,引發c**framewnd
的建構函式。
7
執行c**framewnd
的建構函式中的
create
函式。呼叫的是
cframewnd::create
函式。
8 cwnd::createex()
。該函式中定義了
cs結構(
cs可以在下一步中修改)。產生視窗,得到視窗控制代碼
hwnd。
9 cframewnd::precreatewindow
(createstruct & cs
)。不同類的
precreatewindow
成員函式都是在視窗產生之前一刻被呼叫,準備用來註冊視窗類。可以這樣理解,在
mfc為我們註冊視窗類之前,預留了這個介面,我們只要在
precreatewindow
修改cs
中的資料,就可以產生我們期望的視窗屬性。
10
註冊該視窗.
11
回到第5
步中,顯示視窗。 呼叫
。中又呼叫了
cwintheard::run()
。該函式維護訊息佇列中的訊息迴圈,傳送訊息到
afxwndproc
。下面就是
message map
的事了…
-- 對應第六章 mfc程式的生死因果
MFC學習筆記 MFC建立視窗
mfc 微軟基礎類庫 microsoft foundation classes 微軟公司提供的類庫,以 c 形式封裝了windows api,並且包含了乙個應用程式框架,減少開發工作量。mfc需要包含標頭檔案 include原始檔是.cpp 配置 程式開始時,先例項化應用程式類物件 執行程式的入口函...
MFC學習筆記( )
選單響應順序 view類 文件類 框架類 應用程式類 訊息分類 標準訊息 除wm command之外,所有以wm 開頭的訊息。從cwnd派生的類,都可以接收到這類訊息。命令訊息 來自選單 加速鍵或工具欄按鈕的訊息。這類訊息都以wm command呈現。在mfc中,通過選單項的標識 id 來區分不同的...
MFC學習筆記
1.oncreate函式目前來看只執行了一次 2.對於隱藏的this指標,不是類中的函式成員。當在類的非靜態成員函式中訪問類的非靜態成員的時候,編譯器會自動將物件本身的位址作為乙個隱含引數傳遞給函式 也就是說,即使你沒有寫上this指標,編譯器在編譯的時候也是加上this的,它作為非靜態成員函式的隱...