⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_28570.htm

📁 vc
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<p>
序号:28570 发表者:tigersky2000 发表日期:2003-01-22 13:51:45
<br>主题:the third Question about MFC Source Code
<br>内容:<BR>在MFC程序中,当执行到 pMainFrame-&gt;LoadFrame(IDR_MAINFRAME)时,MFC内部会调用CreateWindowEx来创建窗口,在创建前一刻会发送<BR><BR>WM_CREATE消息,这时会调用CMainFrame::OnCreate,可是问题出现了<BR>首先,pMainFrame-&gt;LoadFrame()究其根源是在framework加入的AfxWinMain中的pApp-&gt;InitInstance()中调用的,而这个调用在pApp-&gt;Run()要<BR><BR>早,Run()才会进入消息循环。<BR>那么我的问题是: 在loadframe里引发WM_CREATE时,程序还没有进入消息循环,怎么会调用CMainFrame::OCreate来处理WM_CREATE消息呢?<BR><BR>是不是在CreateWindow之前由那个windows hook调用的?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:74LS373 回复日期:2003-01-22 15:20:19
<br>内容:再答:<BR><BR>InitInstance()中的<BR>CCommandLineInfo cmdInfo;<BR>ParseCommandLine(cmdInfo);<BR><BR>if (!ProcessShellCommand(cmdInfo))<BR>&nbsp;&nbsp;&nbsp;&nbsp;return FALSE;<BR>完成此作用;<BR>这中主要执行函数CCmdTarget::OnCmdMsg(...)<BR>该函数中就有GetMessageMap()..._AfxDispatchCmdMsg()...等我不晓得做什么的东东
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:tigersky2000 回复日期:2003-01-22 15:25:13
<br>内容:GetMessageMap()就是获得该类的MessageMap呀<BR><BR>你可以看一下 <BR>DECLARE_MESSAGE_MAP()<BR>BEGIN_MESSAGE_MAP()<BR>END_MESSAGE_MAP()<BR>宏! <BR><BR>应该在afxwin.h中<BR><BR>关于你的回答,我再研究研究
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:74LS373 回复日期:2003-01-22 15:40:40
<br>内容:这个问题我也没搞清楚,我唯一知道的是在ProcessShellCommand(cmdInfo)中执行了pMainFrame的创建
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:tigersky2000 回复日期:2003-01-22 15:43:37
<br>内容:关于这个回答我不同意你的观点!<BR><BR>我做了测试,OnCreate在LoadFrame()返回前就已经执行了!<BR><BR><BR>InitInstance()中的<BR>CCommandLineInfo cmdInfo;<BR>ParseCommandLine(cmdInfo);<BR><BR>if (!ProcessShellCommand(cmdInfo))<BR>&nbsp;&nbsp;&nbsp;&nbsp;return FALSE; <BR>这些是做命令行参数解析的吧

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -