再探MFC(一)基於對話框的MFC應用程序項目框架

大學畢設時學的MFC,工作頭一年還用的MFC,之後再也用不到了.當時買的MFC書籍早就束之高閣了.現在需要開發一個簡單的桌面程序,於是我又把MFC撿起來.MFC早已過時,不過如果開發簡單的Windows桌面應用,MFC不失爲一個簡單的選擇.再撿起MFC,充滿了對大學和逝去的青春的懷念,謹以此係列文章紀念之.

本系列文章注重應用.着眼於建立一個簡單演示目的的桌面項目.試圖通用化.完成之後會提供代碼下載.此係列文章與這次項目同一個週期,即項目結束,此係列文章亦告一段落.

本篇文章簡單介紹Visual Studio創建基於對話框的MFC應用程序項目框架.

通過Visual studio MFC wizard創建MFC對話框項目xxx,一開始即存在兩個類:應用程序類CxxxApp,以及對話框類CxxxDlg.

 

可通過AfxGetApp()獲得CxxxApp實例.

可通過AfxGetApp()->m_pMainWnd獲得CxxxDlg實例.

 

 

對話框

CxxxDlg繼承自CDialogEx.MSDN查看CDialogEx.

CDialogEx描述:The CDialogEx class specifies the background color and backgroundimage of a dialog box.

 

再查看CDialogEx的父類CDialog.

CDialog描述:The base class used for displaying dialog boxes on the screen.

 

看其Public Methods以及Remarks主要提供創建和銷燬對話框,以及提供OnInitDialog初始化對話框消息.

 

繼續查看CDialog的父類CWnd.

CWnd描述:Provides the base functionality of all window classes in theMicrosoft Foundation Class Library.

 

看其Public Methods以及Remarks主要實現了消息路由,以及提供各類onxxx消息.

 

應用程序

CxxxApp繼承自CWinApp.MSDN查看CWinApp.

CWinApp描述:The base class from which you derive a Windows application object.

 

應用程序對象整個應用程序唯一,所有地方都能訪問.所以是放可供所有地方訪問的對象和方法的好地方.

 

CWinApp:The Application class.MFC的入口函數WinMain置於MFC庫中,WinMain會調用CWinApp::InitInstance().而應用程序退出之前會調用CWinApp::ExitInstance(),我們可以在CxxxApp中覆蓋ExitInstance,這是一個退出之前銷燬對象的好地方.


2015/4/8 by soliddrem

自本系列文章創建已過去兩個禮拜,終於到了要說再見的時候了.MFC探索是一次愉快的探索.這次探索值得借鑑,是時候探索其它更有意思的事情了.我想還會有其它探索系列的,或許下個系列就是Android探索.

項目源代碼下載https://github.com/soliddream/MFCExploreGitHub


發佈了65 篇原創文章 · 獲贊 32 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章