Yapılacak işlemler şunlardır:
1) CWinApp sınıfından bir sınıf türetilir ve o sınıf için InitInstance sanal fonksiyonu yeniden yazılır.
2) CWinApp’den türetilen sınıf türünden global bir sınıf nesnesi yaratılır.
3) CFrameWnd sınıfından bir sınıf türetilir.
4) InitInstance fonksiyonu içerisinde CFrameWnd sınıfından türetilen sınıf türünden dinamik bir nesne yaratılır ve bu nesnenin adresi CWinThread::m_pMainWnd elemanında saklanır.
5) Yaratılan sınıf nesnesi ile CFrameWnd::Create fonksiyonu çağrılarak programın ana penceresi yaratılır.
//GENMFC.H
#ifndef _GENMFC_H_
#define _GENMFC_H_
// Uygulamayı temsil eden sınıf CWinApp sınıfından türetilir
class CGenericApp : public CWinApp {
public:
virtual BOOL InitInstance(void); // Akışın ele geçirildiği ilk fonksiyon
};
// Uygulamanın ana penceresine ilişkin sınıf CFrameWnd sınıfından türetilir
class CMainWnd : public CFrameWnd {
public:
CMainWnd(void);
};
#endif
GENMFC.CPP
#include
#include “genmfc.h”
// Uygulamaya ilişkin global değişken
CGenericApp theApp;
BOOL CGenericApp::InitInstance(void)
{
m_pMainWnd = new CMainWnd(); // CWinThread::m_pMainWnd programın ana
// penceresine ilişkin sınıfı göstermelidir
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE; // Mesaj döngüsüne girmek için TRUE ile geri dönülmelidir
}
CMainWnd::CMainWnd(void)
{
// Ana pencere CFrameWnd::Create fonksiyonu ile yaratılıyor
Create(NULL, “Generic MFC Application”, WS_OVERLAPPEDWINDOW );
