首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

MFC的有关问题

2012-01-31 
MFC的问题请问各位高手,mfc程序并没有主函数,那他是怎么执行的呢?是从窗口创建开始就执行吗?还是和BEGIN_M

MFC的问题
请问各位高手,mfc程序并没有主函数,那他是怎么执行的呢?是从窗口创建开始就执行吗?还是和BEGIN_MESSAGE_MAP这个东西有关?上网看是什么消息传递机制 有没有大牛详细说说??谢谢了!!!

[解决办法]
MFC当然也有main函数,只不过被封装在了APPMODUL.CPP 文件中,你看不到罢了。
WinMain函数在 APPMODUL.CPP 中是这样定义的

extern "C" int WINAPI 
_tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, 
LPTSTR lpCmdLine, int nCmdShow) 

// call shared/exported WinMain 
return AfxWinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow); 



其中 _tWinMain 是一个宏,在TCHAR.h中定义的,定义如下 

ANSI字符 
#define _tWinMain WinMain 

UNICODE字符 
#define _tWinMain wWinMain 


[解决办法]
谁告诉你没有main呢?
只是mfc的框架帮你封装好了
你可以打开\VC\atlmfc\src\mfc下的winmain.cpp文件看看,里边有个AfxWinMain函数,这就是了
[解决办法]
window程序是从winMain作为程序入口,而MFC中采用CWinApp类替代了WinMain的地位,在CWinApp中InnitApplication();InitInstance();int Run();这三个函数来完成WinMain()的工作,在初始化完后进入消息机制进行处理。
[解决办法]
去看看孙鑫的书吧
[解决办法]

探讨

谢谢各位大牛 能不能举例说说InnitApplication();InitInstance();int Run()这三个函数怎么发挥main函数的作用??还有定义函数时 为什么在指针前加p?如 void CParkView::OnUpdateInputparm(CCmdUI* pCmdUI)

[解决办法]
谁说MFC 没有WINMAIN函数 只要是windows程序 都有WINMAIN函数函数的,因为WINMAIN函数是windows程序的入口。只不过被MFC封装到了WINAPP类中,其中InnitApplication();InitInstance();int Run()3个函数完成了win32 程序中的winmian函数。。如果你想详细了解是怎么个过程可以去看 侯捷的深入浅出MFC 讲得很详细的。。。
[解决办法]
全局对象theApp
[解决办法]
在搞懂MFC之前,建议你先弄懂windows应用程序机制,有一个程序入口,叫winmain......

热点排行