MFC學習筆記1 MFC應用程式架構

2021-07-14 12:51:28 字數 1206 閱讀 6519

最近開始了新的專案,要求在現有專案基礎上進行二次開發以及改進。現有專案使用vc++6.0, mfc開發。

mfc的本質就是乙個包含許多微軟已經定義好的物件的類庫,雖然不同的程式功能上千差萬別,但本質上來講都可以劃分為:1.使用者介面設計 2.檔案操作 3.多** 4.資料庫 等方面,這也是mfc存在的價值。如果類庫中的物件能夠完成功能,只需要簡單呼叫就可以;如果不能滿足功能,則可以繼承已有類派生出自己的物件;當然也可以派生出全新的物件。簡言之就是程式設計時候不必關心物件方法的實現細節,簡化windows程式設計。

mfc物件層次類似於目錄結構組織方式:

(1)基本類cobject

為每個派生類提供基本功能。

(2)基本類ccmdtarget

從ccmdtarget類派生的類可以接受並處理由應用程式的選單或者工具欄發出的命令訊息。

(3)cwnd

派生與ccmdtarget,成員函式封裝了負責建立和維護視窗的windows api。所有其他控制項視窗的mfc類都由該類派 生。

mfc應用程式

中。由cwnd類派生。該類含有乙個重要的成員函式initinstance,在windows環境下可以執行統一程式的多個實 例,

該函式負責生成新例項時的初始化工作。

initintance函式工作如下:定義乙個文件模板的物件指標pdoctemplate,new乙個該文件的模板物件,然後使用

adddoctemplate函式把這個文件模板物件載入到應用程式維護的文件模板鍊錶中。文件模板pdoctemplate的作用

(2)cmainframe類,有cframwnd派生,框架視窗。它是cmyview的父類,即cmyview類的物件顯示在主框架視窗

的客戶區中。在mfc程式中不需要經常對cmainframe類進行操作,而是對視窗類cmyview進行操作,從而達到對程 序

中的資料進行編輯和修改的目的。

cmyview的物件而不用主動建立這些物件。

(3)cmyview和cmyview。兩個類密切相關,文件由文件模板物件生成,並由應用程式物件管理,而使用者則是通 過

與文件相關聯的視窗物件來運算元據、互動。

MFC學習 學習筆記 MFC應用程式打包發布

1.在同乙個解決方案下,新建乙個setup工程,工程名為vpsetup 2.右擊vpsetup工程 view 檔案系統 如下圖所示選擇專案輸出,選擇videoplayer工程作為作為主輸出 3.它會自動檢測工程中呼叫的鏈結庫,安裝完成後會自動釋放到指定資料夾下。如果缺少部分鏈結庫,也可以手動新增進去...

VC教程筆記1 MFC基本框架原理

問 為什麼在有一些goto definition時會進行編譯呢?回答1 這個時候編譯是編譯器要知道這個定義在哪,才可以跳轉。回答2 和這個東東的實現方式有關,個人分析就是用到了編譯中的一些資訊 當某些 改變了以後,為了保證準確性,系統就自己編譯了一下,估計是這樣的。mfc中,cmainframe與c...

MFC應用程式執行流程

extern c int winapi twinmain hinstance hinstance,hinstance hprevinstance,lptstr lpcmdline,int ncmdshow 這一下清楚了,mfc中的winmain函式其實什麼也沒做,只是呼叫了乙個函式afxwinmai...