1,手动编写MFC
下面就是我们要手写MFC的代码,
class CMyApp:public CWinApp
{
public:
virtual BOOL InitInstance();
};
class CMainWnd:public CFrameWnd
{
public:
CMainWnd();
};
CMyApp theApp;
BOOL CMyApp::InitInstance()
{
//创建窗口
m_pMainWnd=new CMainWnd;
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}
CMainWnd::CMainWnd()
{
Create(NULL,TEXT("Hell MFC"));
}
MFC程序的入口是WinMain而我们并没有提供入口而上面这段程序却能创建出一个窗口出来。
当我们没有提供入口的时候,实际上MFC已经帮我准备了入口,对于这段程序运行在vc6.0上,按下F10即可进入到函数入口:
进入到AfxWinMain函数中:
这个就是MFC为我们准备好的入口,实际上已经做了很多的事情。
这里面有几个重要的函数:AfxGetThread,pThread->InitInstance,pThread->Run()
在AFXWIN.H中是