MDI ChildFrame::OnCreate()时去getActiveFrame()问题

来源:互联网 发布:钱多多软件下载 编辑:程序博客网 时间:2024/06/15 04:48

Windows XP sp3

VS2005 + sp1 英文版

MFC MDI

 

在ChildFrame::OnCreate()里去调用MainFrame()里的函数A();

MainFrame::A()

{

    CChildFrame * pChildFrm = (CChildFrame *)getActiveFrame();

}

这时候获得的pChildFrm并不是我们想要的子框架类指针,

因为这时候子框架还没完全创建完,OnCreate()函数还没完全执行完。

 

在ChildFrame::OnCreate()里写个this;

断点调试可以看到this的值跟MainFrame里的pChildFrm不一样。

 

如果非要这么调用,解决办法就是在函数A()里加个CChildFrame类指针的参数。