《明明白白看MFC之程式框架(三)》

2021-06-16 01:04:13 字數 1551 閱讀 7932

三、mfc

程式結構大剖析

在前面我分別給出了sdk和mfc

應用程式的框架,並且稍微理了一下它們之間的對應關係。但是對於mfc

程式來說,要想真正搞懂它的框架的話,還是不夠的。現在我要做的事就是繼續去分析一下上面的mfc

程式,期望能夠如我的標題所言,明明白白的看透mfc

的應用程式框架。

首先就是看一下應用嚮導生成的mfc

應用程式都有哪些主要的檔案,包含哪些類以及相關類的對應功能和他們之間的關係(再次說明,因為我在這裡關心的是程式的框架結構,所以對於一些與話題關係不很大的東西我將會略去不提)。

在上面的sdi應用程式中,嚮導為我們生成了4個主要的類,這些類都是mfc

類的派生類,分別包含在對應的標頭檔案以及實現檔案中。

1、框架視窗類及其相關的檔案

框架視窗類對應應用程式的主視窗,明白這一點後就可以建立乙個對這個類的感性認識了,他的定義是在標頭檔案mainfrm.h中,而實現則是在mainfrm.cpp檔案中。所有與框架視窗向光的功能都是在這裡定義和實現的。

2、文件類及其相關的檔案

文件類在應用程式中沒有直觀的對應關係,但是,我們應該知道的一點就是mfc

的框架的乙個特點就是文件/檢視結構。這裡可以抽象一點地來理解,比如說我們在word中開啟了乙個檔案,其實,這個檔案就是文件,而我們看到的只不過是這個檔案乙個檢視,所以說文件提供了應用程式顯示的支援,但是我們真正看到的應用程式顯示的則是乙個檢視,文件類的定義是在「hello worlddoc.h」中,而他的實現則是在「hello worlddoc.cpp」檔案中。

3、檢視類及其相關的檔案

檢視類是用來顯示文件物件的內容的,我們在word程式中所看到的介面就是乙個檢視,我們要修改,畫圖首先操作的物件就是檢視,所以,檢視類就如他的名稱所指出的那樣,提供了從使用者角度看到的東西。檢視類的定義在「hello worldview.h」中,實現是在檔案「hello worldview.h」中。

4、應用程式類及其相關的檔案

mfc應用程式的初始化,啟動執行和結束都是由應用程式物件完成的。他對應的檔案是」hello world.cpp」和」hello world.h」。

在大致的了解了應用程式物件的作用之後,現在我們來看看它們之間的關係(如下圖所示)。

應用程式物件

文件模板物件

框架視窗物件

檢視物件

文件物件

從上面的圖中可以大致的看出mfc

至此,我的這篇文章終於可以暫時告一段落了,在文中我主要分析的是應用程式的框架,所以忽略了很多的實現細節。其實,學習mfc

是乙個非常漫長的路,處在不同的階段都會產生不同的看法和認識,相信隨著學習的深入,每乙個人都會有自己的理解。但是在這裡我給出的自己的經驗就是:在學習mfc

的時候,一定要在巨集觀上對他的應用程式框架有個感性的認識!因為這樣之後,我們就會在學習的時候有個明顯的方向,知道自己學習的是什麼東西。我在一開始的時候,就沒有認識到這一點,所以往往在學習過程中,往往會不知道下一步應該做什麼,也不明白自己看的東西是做什麼用的。希望通過這篇文章可以與大家一起學習!

(全文完)

明明白白看MFC之程式框架

對於程式設計師來說,如果要提高程式設計效率,乙個好用的,功能強大的並且可以得心應手使用的程式設計工具往往會給我們程式設計師帶來莫大的方便。其實對於現在的程式設計工具來說,使用哪一種工具都不是問題的關鍵,重要的是你能夠使用到什麼程度,畢竟現在的工具都是非常的強大,對於一般的程式設計任務來說還沒有不能夠...

明明白白看MFC之程式框架(一)

對於程式設計師來說,如果要提高程式設計效率,乙個好用的,功能強大的並且可以得心應手使用的程式設計工具往往會給我們程式設計師帶來莫大的方便。其實對於現在的程式設計工具來說,使用哪一種工具都不是問題的關鍵,重要的是你能夠使用到什麼程度,畢竟現在的工具都是非常的強大,對於一般的程式設計任務來說還沒有不能夠...

明明白白之搜尋演算法

1 定義 搜尋演算法是去搜尋每乙個可能,主要分以下幾種演算法 列舉法 暴力搜尋 深度優先搜尋 廣度優先搜尋 回溯2 深度優先搜尋 一條道走到黑 1 判斷邊界條件,向上回退 2 解決當前這一步需要做什麼 3 使用相同的邏輯處理下一步 3 廣度優先搜尋 為了便於進行搜尋,要設定乙個表儲存所有的結點。由於...