为何跟踪不到何时调用CFrameWnd::OnCreate()?

sdcer 2003-10-19 04:03:58
我想看看OnCreate()是什么出来的,所以,我在Create()和OnCreate()都设了断点,程序先进入Create(),然后我就跟,可是不明显,跟到::CreateWindowEx()后,就进入OnCreate()中了,也不知道经过了什么操作就进来了,我想知道,类似于消息激发的这样的函数(OnCreate()是由消息WM_CREATE消息才调用的),我们可以看到它是在哪里调用的吗?反正我没有看到在哪里有类似
if(CFrameWnd::OnCreate())
{..}
这样的语句。我只能看到OnCreate()的定义,但看不到它被谁调用。是不是根本我们看到不到啊??
...全文
162 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdcer 2003-10-21
  • 打赏
  • 举报
回复
而且,大家都知道CMainFrame::OnCreate()中大都是进行工具条、状态条、对话条的建立操作。我认为这是因为大家已经接受了这个事实,可为什么呢?OnCreate()中到底都可以作哪些操作?难道只是工具条、状态条、对话条的建立吗?分割视图可以吗?为什么呀?换句话说:::CreateWindowEx()到底把窗口建立完毕了没有?或者说如果没有建立完毕,那建立到了什么程度?在OnCreate()操作中是必须作某些操作吗?
sdcer 2003-10-21
  • 打赏
  • 举报
回复
为什么没有人回答呀?我还想知道消息函数中的参数的意义!比如::CreateWindowEx()函数会激发WM_CREATE消息,调用OnCreate()函数,但这两个函数中的参数却不一样,请问这样的消息调用函数的参数有什么特点,或者说与原函数有什么关系?
例如:::CreateWindowEx(cs.dwExStyle, cs.lpszClass,
cs.lpszName, cs.style, cs.x, cs.y, cs.cx, cs.cy,
cs.hwndParent, cs.hMenu, cs.hInstance, cs.lpCreateParams);//这些是::CreateWindowEx的函数的参数表。

而OnCreate()函数的参数表却是:OnCreate(LPCREATESTRUCT lpCreateStruct)
这两者的参数表当然是有一定的关系,从::CreateWindowEx直接到OnCreate()函数是不是太快了点,中间的过程是怎么样的呢?

sdcer 2003-10-20
  • 打赏
  • 举报
回复
hotness28(小左) 回答的谁都明白,可我问的是更深入的问题。触发消息WM_CREATE后怎么就调用Oncreate()了?不要以为这是个理所当然的过程,是有原因的!!
yangchaobj 2003-10-19
  • 打赏
  • 举报
回复
这个我来告诉你,CreateWindowEx内部填写好消息后,不把消息发到队列,而是要直接调用窗口函数,而MFC底层用了hook机制,最终会将这个调用转到OnCreate这里。
hotness28 2003-10-19
  • 打赏
  • 举报
回复
create()调用触发wm_create事件
当然就调用oncreate()消息处理函数
sdcer 2003-10-19
  • 打赏
  • 举报
回复
消息映射我知道啊。可关键我们从哪里看到发送了消息呀?::CreateWindowEx()是一个api函数,你不知道它里面如何触发了WM_CREATE呀。这个问题很重要,不过以前不论是<深入浅出mfc》里没有关于这个问题的说明。或者说没有深入到这个问题。。。请讨论
slyfox 2003-10-19
  • 打赏
  • 举报
回复
1。 你看看消息映射的意思
2。 看看WM_CREATE 消息的说明:在 CreateWindow返回前。

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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