MFC的main函数在什么地方??请各位高手指点迷津!!!

cppwxr 2003-05-21 01:14:17
最近开始学习MFC发现总是很糊涂,对于类之间的关系和程序的初始化等问题。一般函数都是从main()主函数开始运行的,但我找了半天都没有看到main()的影子。我做了一个很简单的对话框,什么都没有。我的程序名为my。class MyApp : public class CWinApp在my.h中,在my.cpp中只看到MyApp theApp;我怎么也搞不清楚,程序从什么地方开始执行的???使得编出来的程序也很模糊。请各位高手指教一下。
还有DECLARE_MESSAGE_MAP()是什么意思,在什么地方可以找到这个宏的定义。
...全文
1491 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhanglingfei 2003-05-22
  • 打赏
  • 举报
回复
在MFC里原先C语言里的main()被WinMain()取代了,而CWinApp又取代了WinMain()的地位。WinMain()被MFC包装起来了,咱们看不到。
1.程序的开始是从一个Application object产生而开始的。
2.消息映射机制在*.h文件中用DECLARE_MESSAGE_MAP()声明的,
  在*.cpp中以下面语句和上面的语句配合。
BEGIN_MESSAGE_MAP(子类, 父类)
//{{AFX_MSG_MAP(CToolColorSelect)
//消息
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
这样消息映射机制就建立起来了。
更详细的请看,侯俊杰的《深入浅出MFC》,华中科技大学出版。
smartukyo 2003-05-22
  • 打赏
  • 举报
回复
main有四个版本,分别是控制台程序、GUI程序的ANSI版本和UNICODE版本,它是编译程序自动设置的。其源代码在MFC的相应文件中,很容易找到。上面也都说了。可以看一看《Windows核心编程》。GUI程序的一般的流程是:

构造theApp;
进入AfxWinMain();
在AfxWinMain中,将调用CWinThread的Run(),这里是整个程序的控制中心,其实核心的也就几句话:
GetMessage(...)
TranslateMessage()
DispatchMessage()

各消息被这几句话源源不断地泵到各窗口过程中,完成各动作
思危 2003-05-22
  • 打赏
  • 举报
回复
按 F11 运行程序,你就可以找到MFC程序的入口函数了
liuguiqing 2003-05-22
  • 打赏
  • 举报
回复
你可以一开始运行程序,就让它单步执行。这时,你就会发现FMC是从winmain开始的,而且*APP在什么时候调用,能清楚的看到。*APP只是一个主线成,它并不是main。
guchan 2003-05-22
  • 打赏
  • 举报
回复
up楼上
joachern 2003-05-22
  • 打赏
  • 举报
回复
最好的方法调试 step into .. step step
kwiner 2003-05-22
  • 打赏
  • 举报
回复
你无需知道它在哪啊
BlueSky2008 2003-05-22
  • 打赏
  • 举报
回复
是在应用程序类的构造函数中。
brave_heart 2003-05-22
  • 打赏
  • 举报
回复
Search in AppModul.cpp under your VC installation directory,

_tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPTSTR lpCmdLine, int nCmdShow)
sharpblade 2003-05-22
  • 打赏
  • 举报
回复
DECLARE_MESSAGE_MAP()消息映射
jwyhit 2003-05-21
  • 打赏
  • 举报
回复
如各位高手所言啊
cppwxr 2003-05-21
  • 打赏
  • 举报
回复
谢谢给位高手的指教。臭屁屁在这个不胜感激。
feiniaoliang 2003-05-21
  • 打赏
  • 举报
回复
是的,再研究mfc的时候,最好先看一些参考书!如:侯俊杰的《深入浅出mfc》;

要不然你肯定是一头雾水!!!呵呵~~~~~
shootingstars 2003-05-21
  • 打赏
  • 举报
回复
theApp是一个mfc类的对象,程序的入口函数被封装在类的构造函数当中了。
DECLARE_MESSAGE_MAP是一个消息映射的宏。
你可以在侯俊杰的《深入浅出mfc》中找到详细的答案。
QQQQXSH 2003-05-21
  • 打赏
  • 举报
回复
mfc框架完全封装了winmain()
所以你只需关注winApp
triggerd 2003-05-21
  • 打赏
  • 举报
回复
《深入潜出MFC》第一,六章说得很详细。
winmain.cpp中有代码。
醉马不肖 2003-05-21
  • 打赏
  • 举报
回复
1.在mfc框架中,买本《mfc2e》看看。。。
2.F12

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧