1. 程式人生 > >00 MFC的本質及一個簡單的MFC程式示例

00 MFC的本質及一個簡單的MFC程式示例

MFC的本質就是對Win32的封裝。
微軟基礎類庫(英語:Microsoft Foundation Classes,簡稱MFC)是微軟公司提供的一個類庫(class libraries),以C++類的形式封裝了Windows API,並且包含一個應用程式框架,以減少應用程式開發人員的工作量。其中包含大量Windows控制代碼封裝類和很多Windows的內建控制元件和元件的封裝類。
在寫簡單的MFC程式示例前,先兩個必要的MFC類;
CWinApp:該類是Windows應用程式物件的基類。應用程式物件提供了用於初始化應用程式和執行應用程式的成員函式;使用MFC的每個應用程式只包含一個從CWinApp派生的物件。當從CWinApp派生應用程式類時,覆蓋InitInstanse成員函式以建立應用程式的主視窗物件;它還有一個成員變數m_pMainWnd,用來記錄建立主視窗物件;
CFrameWnd:該類提供了Windows當文件介面重疊和彈出視窗的功能,以及用於管理視窗的成員;
建立一個Win32程式,將專案屬性–>配置屬性–>MFC使用選項設定為在靜態庫中使用MFC;
簡單程式碼示例:

/*
 *HelloMFC.h
 */
#ifndef _HELLO_MFC_
#define _HELLO_MFC_

class CMyApp : public CWinApp{
public:
	virtual BOOL InitInstance();
};

class CMainWindow : public CFrameWnd{
public:
	CMainWindow();
};

#endif

/*
*HelloMFC.cpp
*/
#include <afxwin.h>
#include "HelloMFC.h"

CMyApp myApp;

BOOL CMyApp::InitInstance()
{
	m_pMainWnd = new CMainWindow;
	m_pMainWnd->ShowWindow(m_nCmdShow);
	m_pMainWnd->UpdateWindow();

	return TRUE;
}

CMainWindow::CMainWindow()
{
	Create(NULL, TEXT("Hello MFC"));
}