如何将winMain封装成自己定义的CApp类啊,以下代码是一个MFC程序,其中没有winMain函数,编译器是怎样将它编译成功的呢,winMain函数又是到哪去了呢。#include <afxwin.h> class CMinApp : public CWinApp
{ public: virtual BOOL InitInstance(); public:
virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
};class CMyFrameWnd:public CFrameWnd
{
};
BOOL CMinApp::InitInstance()
{
CMyFrameWnd* pFrame = new CMyFrameWnd;
pFrame->Create(0, _T("A Minimal MFC Program"));
pFrame->ShowWindow(SW_SHOWMAXIMIZED);
pFrame->UpdateWindow();
this->m_pMainWnd=pFrame;
return TRUE;
}
BOOL CMinApp::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo)
{
return CWinApp::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
}
CMinApp app2;
{ public: virtual BOOL InitInstance(); public:
virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
};class CMyFrameWnd:public CFrameWnd
{
};
BOOL CMinApp::InitInstance()
{
CMyFrameWnd* pFrame = new CMyFrameWnd;
pFrame->Create(0, _T("A Minimal MFC Program"));
pFrame->ShowWindow(SW_SHOWMAXIMIZED);
pFrame->UpdateWindow();
this->m_pMainWnd=pFrame;
return TRUE;
}
BOOL CMinApp::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo)
{
return CWinApp::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
}
CMinApp app2;
可在VC提供的代码中找到
_tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPTSTR lpCmdLine, int nCmdShow)
{
// call shared/exported WinMain
return AfxWinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
}
是不可以的MFC也不会让你这样做的,你是不是想做个自已定义的程序入口啊!!!!
> CMinApp app2;
winMain是如何被封装到CMinApp中的呢?
> CMinApp app2;
winMain是如何被封装到CMinApp中的呢?你这里申明了App的一个全局对象,就是靠这个对象进入WinMain的
> CMinApp app2;
winMain是如何被封装到CMinApp中的呢?你这里申明了App的一个全局对象,就是靠这个对象进入WinMain的
学习
Options
Directories
Show directories for
Source files
如果你看看深入浅出MFC你就明白winmain()的原理所在