MFC 报winocc.cpp line 303错误

来源:互联网 发布:mac下载的app删不掉 编辑:程序博客网 时间:2024/06/05 14:47

最近在工作中 需要在单文档应用程序中嵌入 formview

在frame构造函数中加入 m_infoDlg = (CTradeInfoDialog *)RUNTIME_CLASS(CTradeInfoDialog)->CreateObject();

齐总 m_infoDlg为formview的对象,然后在oncreate函数中

m_infoDlg->Create(NULL, NULL, WS_CHILD | WS_VISIBLE, CRect(0, menurct.Height(), rct.Width(), rct.Height() / 2), this, IDD_TRADE_INFO, NULL);


运行后总报 winocc.cpp line303错误 ,跟踪后发现 我在m_infoDlg类中重写了Onsize方法,OnSize方法内部 调用了 控件的MoveWindow方法,但m_infoDlg的create的时候,会调用Onsize 此时还没有调用OnInitialUpdate 也就是说里边控件的句柄都是空的 需要在OnSize里边加入判断

   if (m_listinfo.GetSafeHwnd()!= NULL)
m_listinfo.MoveWindow(CRect(0,0,rct.right,rct.bottom-5),true);

0 0