最近看了一下mfc,隨手記錄下點東西,算是留著給自己偶爾看看吧~
學習環境:vs2017+mfc小專案實戰
1.使用mfc平台新建文件時,可選基本對話方塊、單文件介面、多文件介面、多個頂層文件,一般選擇基本對話方塊或多文件mdi兩者就夠用了。
2.檢視從mfc類cview派生。
3.mfc提供了使文件與其檢視相結合,以及使各個框架視窗與當前的活動檢視相結合的機制:文件物件自動維護者相關檢視的指標列表,而檢視物件擁有儲存相關文件物件的指標的資料成員,各個框架視窗都儲存著乙個指向當前活動檢視物件的指標。
4.mfc的4個基本類:
②框架視窗類:cmywnd;
③檢視類:cmyview:該類定義如何在cmywnd物件建立的視窗工作區中顯示cmydoc物件包含的資料;
④文件類:cmydoc:該類定義包含應用程式資料的文件。
5.declare_message_map()巨集定義windows訊息與該類的函式成員之間的對映關係。
6.程式中,winmain()函式沒有顯式地出現在專案的源**中,其由mfc類庫提供,在應用程式啟動時自動呼叫,wndproc()函式也是自動呼叫的。
7.應用程式(sdi)的操作:
②執行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基本框架、訊息機制的簡單總結,具體靠程式設計時從中理解其中奧妙之處;
歡迎交流、指正。
MFC學習筆記 CDialog入門
1.建立對話方塊資源,主要包括建立新的對話方塊模板 設定對話方塊屬性和為對話方塊新增各種控制項 2.生成對話方塊類,主要包括新建對話方塊類 新增控制項變數和控制項的訊息處理函式等。在resource view檢視中可以看到工程addition的資源樹,展開addition.rc,下面有四個子項 di...
MFC學習 MFC入門
mfc 原作者姓名 zhoujiamurong include afxwin.h class sample public cframewnd class public public0,initinstance中呼叫 initinstance中呼叫 mb ok sample s new sample ...
MFC學習筆記(一)
案例1 響應視窗始終 輸出字元 如下 crect rectclient,recttitle int nwidth 100 int nheight 40 getclientrect rectclient 得到當前客戶區的尺寸 recttitle.left rectclient.width nwidth...