1. 程式人生 > >MFC入門學習筆記(一)

MFC入門學習筆記(一)

最近看了一下MFC,隨手記錄下點東西,算是留著給自己偶爾看看吧~

學習環境:VS2017+MFC小專案實戰

1.使用MFC平臺新建文件時,可選基本對話方塊、單文件介面、多文件介面、多個頂層文件,一般選擇基本對話方塊或多文件MDI兩者就夠用了。

2.檢視從MFC類CView派生。

3.MFC提供了使文件與其檢視相結合,以及使各個框架視窗與當前的活動檢視相結合的機制:文件物件自動維護者相關檢視的指標列表,而檢視物件擁有儲存相關文件物件的指標的資料成員,各個框架視窗都儲存著一個指向當前活動檢視物件的指標。

4.MFC的4個基本類:

①應用程式類:CMyAPP;

②框架視窗類:CMyWnd;

③檢視類:CMyView:該類定義如何在CMyWnd物件建立的視窗工作區中顯示CMyDoc物件包含的資料;

④文件類:CMyDoc:該類定義包含應用程式資料的文件。

5.DECLARE_MESSAGE_MAP()巨集定義Windows訊息與該類的函式成員之間的對映關係。

6.程式中,WinMain()函式沒有顯式地出現在專案的原始碼中,其由MFC類庫提供,在應用程式啟動時自動呼叫,WndProc()函式也是自動呼叫的。

7.應用程式(SDI)的操作:

①建立應用程式物件theApp;

②執行MFC提供的WinMain()函式;

③WinMain()呼叫InitInstance()函式

④WinMain()呼叫Run()函式,執行訊息迴圈,以獲取和分派Windows訊息。

8.特定訊息和程式中為它提供服務的函式之間的關聯是由訊息對映建立的;

9.訊息處理函式用afx_msg區分;

10.訊息類別:訊息類別決定處理方式,

①標準Windows訊息,這是以前經VM_開始的標準Windows訊息,VM_COMMAND訊息除外;

②控制通知訊息:這些事VM_COMMAND訊息

③命令訊息:是VM_COMMAND訊息,由使用者介面元素產生,如選單和工具欄按鈕。

11.為控制元件(包括選單)訊息新增處理程式:

訊息型別主要有:COMMAND:在選擇了特定的選單項時將發出這種訊息;UPDATE_COMMAND_UI:取決於選單的狀態,在應當更新選單時將發出這種訊息。

注:新增之後-->自動生成框架--->我們編寫訊息函式的程式碼。

12.要正確地設定新選單的複選標記,需要為每個新的選單項新增第二種訊息處理程式UPDATA_COMMAND_UI(表示更新命令使用者介面),專門用於在顯示一個選單項之前更新它的屬性。

13.CCmdUI類是一種只用於更新處理程式的MFC類。

以上便是一些有關於MFC基本框架、訊息機制的簡單總結,具體靠程式設計時從中理解其中奧妙之處;

歡迎交流、指正。