大學畢設時學的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