讀書筆記 MFC單文件應用程式結構分析

2022-01-13 19:10:33 字數 1327 閱讀 5977

真的開始學習vc++了,感覺還是有點吃力。之前的知識幾乎全部忘掉了,要重新開始。不過還好,語法基礎還是有的,不用費多大力氣。物件導向的知識還是有的,不用重新學習,只需要了解一下就可以了。指標的知識也差不了多少,邊用邊學吧。今天開始重新進軍vc++的殿堂,希望從此開啟我的c++學習大門。這個八月的目標:熟悉mfc的單文件、多文件和對話方塊應用程式,了解mfc下的控制項使用。一點一點開始吧~~keep moving……

第一步:新建乙個mfc的單文件應用程式

我新建的工程名稱是writer,這裡先說明一下,下面的分析中都會出現。

第二步:主要程式類分析

csingledoctemplate* pdoctemplate;

pdoctemplate = new csingledoctemplate(

idr_mainframe,

runtime_class(cwriterdoc),

runtime_class(cmainframe),       // main sdi frame window

runtime_class(cwriterview));

adddoctemplate(pdoctemplate);

這段**指明了文件類、架構類和檢視類,從而構造了乙個單文件檢視結構的應用程式。

2、文件類cwriterdoc

文件類是用來訪問資料的。其中的seriallize方法可以訪問資料。

3、檢視類cwriterview

檢視類負責顯示程式資料及使用者才操作。可以理解為程式和使用者的介面(ui),這個介面設計的好壞直接影響到使用者的體驗。ps. 非常貌似ui的概念。

在這個類中,最常用的函式是ondraw,這個函式的作用是重繪文件顯示的內容,當視窗首次生成、改變大小、拖動的時候,程式都會呼叫這個方法來重繪介面。另外乙個常用的函式是getdocumnet,這個函用來獲取文件的指標,便於訪問文件中的資料。函式ondraw的**如下:

void cwriterview::ondraw(cdc* pdc)

在這個函式中,首先呼叫getdocument函式獲取到乙個文件指標,從而通過pdoc 訪問文件中的資料。

4、框架視窗類 cmainframe

框架視窗類負責管理視窗中的選單、工具欄、狀態列等。通常在oncreat函式中建立工具欄、狀態列……**不再貼出。

ps. 新增乙個事件:「檢視」—> 「建立類嚮導」,在彈出的視窗中選擇工程、選擇類名稱,在messages中選擇要新增的訊息,選中後點選「add function」完成新增, 再點選「edit code」進行**編輯。這裡所新增的是訊息對映(message maps),在windows程式設計中,就是所謂的事件。

MFC 應用程式型別 單文件 多文件與基於對話方塊

型別解釋 單文件 記事本類程式的標準模式,有選單欄 工具欄等,只能進行乙份文件的操作,即不能同時在同乙個應用程式中開啟兩個檔案 多文件 word類或瀏覽器程式的標準模式,可多個視窗顯示不同的資訊,進行不同的任務,有過個檢視環境,可同時操作多個檔案。多個檔案共享同一選單欄 工具欄等 對話方塊 可方便的...

C 應用程式效能優化讀書筆記

粗淺的看了下,有點虎頭蛇尾。暫且記下。第一篇 c 程式優化基礎 第1章 c 物件模型 1.1 基本概念 1.1.1 程式使用記憶體區 乙個程式占用的記憶體區一般分為5種 全域性 靜態資料區 常量區 區 棧 堆。例子 include include int nglobal 100 int main v...

單文件應用程式的建立過程

在win32 skd應用程式程式設計中,建立乙個視窗程式的簡單過程如下 1.設計乙個視窗類 2.註冊該視窗類 3.建立乙個基於該類的視窗 4.顯示及更新視窗 5.進入訊息迴圈。另外還要編寫視窗過程函式。在mfc程式設計中,其實也是有這些步驟的,就是比較隱蔽罷了。以建立乙個mfc單文件應用程式為例進行...