社区

界面 帖子详情 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()是什么意思,在什么地方可以找到这个宏的定义。

...全文

1485 17 打赏 收藏 MFC的main函数在什么地方??请各位高手指点迷津!!! 最近开始学习MFC发现总是很糊涂,对于类之间的关系和程序的初始化等问题。一般函数都是从main()主函数开始运行的,但我找了半天都没有看到main()的影子。我做了一个很简单的对话框,什么都没有。我的程序名为my。class MyApp : public class CWinApp在my.h中,在my.cpp中只看到MyApp theApp;我怎么也搞不清楚,程序从什么地方开始执行的???使得编出来的程序也很模糊。请各位高手指教一下。 还有DECLARE_MESSAGE_MAP()是什么意思,在 复制链接

扫一扫 分享 转发到动态 举报 AI 作业

写回复 配置赞助广告取 消

确 定

用AI写文章 17 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 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 VC/MFC 编程经验 VC/MFC 编程经验总结1URL:http://expert.csdn.net/Expert/topic/2398/2398212.xml?temp=.3510706| 在VC的使用过程中,每个人或多或少都会遇到一些麻烦,而这些问题可能其他人也同样遇到过,或许还没能解决。当你发现问题根结所在时,兴奋之余,欢迎你告诉他人同类问题的解决之道。 大家如果有新的发现,请把你的编程经验收藏在这个帖子 VC/MFC 编程经验总结 VC/MFC 编程经验总结1URL:http://expert.csdn.net/Expert/topic/2398/2398212.xml?temp=.3510706| 在VC的使用过程中,每个人或多或少都会遇到一些麻烦,而这些问题可能其他人也同样遇到过,或许还没能解决。当你发现问题根结所在时,兴奋之余,欢迎你告诉他人同类问题的解决之道。 大家如果有新的发现,请把你的编程经验收藏在这个帖子 VC++中可能遇到的问题 T 如何用程序控制电源管理设置 Q 我们知道在电源选项 属性 里面可以设置 关闭监视器 1分钟之后,...,从不 关闭硬盘 1分钟之后,...,从不 待机时间 1分钟之后,...,从不请问这些设置我怎么用程序来实现 比如我现在要把关闭监视器设成 5分钟之后 请问各位大虾,应该怎么办?是不是要调用API?如果是,应该调用什么函数?另外补充说明:如果是调出控制面板让用户自 关于ucGUI对个多个对话框切换的问题 最近在用ucGUI写一个终端的界面,碰到多个对话框之间相互调用,会弹出提示"Max. message nesting exceeded, Message skipped."的错误。分析原因后,发现是由于在对话框的回调函数中调用GUI_ExecDialogBox()这个函数创建对话框的缘故,因为GUI_ExecDialogBox()函数是创建对话框并且马上执行对话框的回调函数,一直到该对话框的动作处 VC++中可能遇到的问题收藏 VC++中可能遇到的问题收藏 | 旧一篇: 在VC中动态加载ODBC时的一些小细节 function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?d.getSelection():);

界面

15,980

社区成员

115,867

社区内容

发帖 与我相关 我的任务 界面 VC/MFC 界面 复制链接

扫一扫 分享 确定 社区描述 VC/MFC 界面 社区管理员

加入社区

获取链接或二维码

近7日

近30日

至今

加载中

查看更多榜单

社区公告

暂无公告 试试用AI创作助手写篇文章吧

+ 用AI写文章