Design pattern MVC via MFC
>> Thursday, October 8, 2009
Here's the simplest implementation of MVC patterns in MFC. There're 4 classes participating in this pattern.
#include <afxwin.h>
#include "resource.h"
class CMyView: public CView
{
protected:
CMyView(){}
;
DECLARE_DYNCREATE(CMyView)public:
virtual void OnDraw(CDC *pDC);
};
IMPLEMENT_DYNCREATE(CMyView, CView)void CMyView::OnDraw(CDC *pDC){}
class CMyWnd: public CFrameWnd
{
public:
CMyWnd(){}
DECLARE_DYNCREATE(CMyWnd)
};
IMPLEMENT_DYNCREATE(CMyWnd, CFrameWnd)
class CMyDoc: public CDocument
{
protected:
CMyDoc(){}
;
DECLARE_DYNCREATE(CMyDoc)public:
};
IMPLEMENT_DYNCREATE(CMyDoc, CDocument)class CMyApp: public CWinApp
{
public:
virtual BOOL InitInstance();
};
CMyApp theApp;
BOOL CMyApp::InitInstance()
{
CSingleDocTemplate *pDocTemplate;
pDocTemplate = new CSingleDocTemplate(IDR_MENU1, RUNTIME_CLASS(CMyDoc),
RUNTIME_CLASS(CMyWnd), RUNTIME_CLASS(CMyView));
AddDocTemplate(pDocTemplate);
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
if (!ProcessShellCommand(cmdInfo))
return FALSE;
m_pMainWnd->ShowWindow(SW_SHOW);
return TRUE;
}
0 comments:
Post a Comment