MFC 框架學習

2021-05-27 10:08:57 字數 1074 閱讀 9824

1.       最簡單的框架程式:

使用mfc基礎類庫,編寫乙個最簡單的框架程式:

#include

public:

bool initinstance();

cframewnd *pmainwnd = new cframewnd;

pmainwnd->showwindow(m_ncmdshow);

pmainwnd->updatewindow();

m_pmainwnd = pmainwnd;

return true;

注意:工程設定中設定為使用靜態mfc庫,或動態使用mfc庫。

2. 文件檢視框架:

mfc將主視窗類分為了三個類,分別負責了不同的工作:文件類(cdocument類)、檢視類(cview)、主框架類(cframewnd類),分別負責資料的儲存管理、資料的顯示及接受訊息、承擔文件類和檢視類的容器。

而這三個類又是由文件模板類物件來管理的,它有兩個版本,乙個是單文件的文件模板類,乙個是多文件的文件模板類。在該類的物件初始化的時候動態建立上述的三個物件。

程式設計師的工作簡化成了如下幾項:

2. 在cdocument的派生類中,宣告程式需要的資料和對這些資料進行必要操作的介面函式。

3. 在cview類的派生類中編寫處理訊息的**,如果在訊息處理中需要文件的資料,呼叫該類的getdocument方法獲取文件類的物件指標,然後通過文件類的介面函式對該文件的資料進行操作。

4. 在cview類的派生類中的ondraw函式中編寫視窗重繪函式時的**。

各個部分的關係:

解釋:sdi各個物件的聯絡方法:

解釋:解釋:文件檢視框架訊息流動:

解釋:多數的訊息首先是由活動檢視物件獲得的,在該類中找不到相應響應函式,它將該訊息傳遞給文件模板物件,文件模板物件會將該訊息傳遞給文件物件,如果文件物件也沒有相應的響應函式,則活動檢視物件將該訊息傳遞給其父物件,框架視窗類物件,讓其查詢響應函式,如果依然沒有相應的響應函式,該訊息會傳遞給應用程式類物件,依舊找不到響應函式,最後訊息傳遞給系統的defwindowproc()方法類做預設處理。

其中,如果訊息傳遞過程中找到了某個響應函式,則該訊息不再向下傳遞。

MFC學習筆記(一) MFC框架程式剖析

基於mfc的框架程式剖析 一 mfc 程式中的winmain函式 1.先來個定義,mfc 一套物件導向的函式庫,一套c 類的集合,搞windows應用程式的開發。2.mfc將大部分的windows api封裝到 中,以類成員函式的形式提供給程式設計師呼叫。3.mfc中類的命名都以字母 c 開頭,就像...

MFC基本框架

mfc基本框架 by 小戴 發表於 2006 12 21 15 59 00 mfc 應用程式框架 1 mfc 簡介 mfc microsoft foundation class 是由微軟公司編寫的一套專門用於 windows 程式設計的 c 基礎類庫,vc 程式設計基本上都是圍繞著 mfc 類庫來進...

MFC執行框架

2 winmain登場 extern c int winapi twinmain hinstance hinstance,hinstance hprevinstance,lptstr lpcmdline,int ncmdshow twinmain函式的 t 是為了支援unicode而準備的乙個巨集。...