关闭程序出现崩溃(exe 已触发了一个断点及未加载ucrtbased.pdb)

在把AddPage功能添加到outlookbar的程序中后,当关闭程序,提示以上错误。

LRESULT CMyOfficeView::HandleInitDialog(WPARAM wParam, LPARAM lParam)
{
    LRESULT lRes = CBCGPFormView::HandleInitDialog(wParam, lParam);

    UpdateData(FALSE);
    CRect rectPropSheet;
    m_wndPropSheetPlaceHolder.GetWindowRect(rectPropSheet);
    ScreenToClient(rectPropSheet);


    m_wndPropSheet.EnableVisualManagerStyle();
    m_wndPropSheet.EnableLayout();
    m_wndPropSheet.m_bIsAutoDestroy = FALSE;

    //m_wndPropSheet.AddPage(&m_Page1);
    m_wndPropSheet.AddPage(&m_Page2);
    //m_wndPropSheet.AddPage(&m_Page3);
    //m_wndPropSheet.AddPage(&m_Page4);
    //m_wndPropSheet.AddPage(&m_Page5);

    if (!m_wndPropSheet.Create(this, WS_TABSTOP | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_VISIBLE, 0))
    {
        TRACE0("Cannot create property sheet control\n");
        return 0;
    }

    m_wndPropSheet.SetWindowPos(NULL, rectPropSheet.left, rectPropSheet.top, rectPropSheet.Width(),
        rectPropSheet.Height(), SWP_NOZORDER | SWP_NOACTIVATE);


    CBCGPStaticLayout* pLayout = (CBCGPStaticLayout*)GetLayout();
    if (pLayout != NULL)
    {
        /*pLayout->AddAnchor(IDC_BUTTON1, CBCGPStaticLayout::e_MoveTypeHorz, CBCGPStaticLayout::e_SizeTypeNone);
        pLayout->AddAnchor(IDC_BUTTON2, CBCGPStaticLayout::e_MoveTypeHorz, CBCGPStaticLayout::e_SizeTypeNone);
        pLayout->AddAnchor(IDC_CHECK1, CBCGPStaticLayout::e_MoveTypeHorz, CBCGPStaticLayout::e_SizeTypeNone);
*/
        pLayout->AddAnchor(m_wndPropSheet.GetSafeHwnd(), CBCGPStaticLayout::e_MoveTypeNone, CBCGPStaticLayout::e_SizeTypeBoth);

    }

    return lRes;
}

 另外单独做了一个空的对话框IDD_PAGE3 把上面用到的page2的IDD 改为IDD_PAGE3后  程序运行,关闭就正常。

再向PAGE3里面放一个控件listctrl后运行 ,关闭也不正常。崩溃跟上面情况一样

也就是这个IDD_PAGE上面一放控件,关闭时程序就崩溃。

posted @ 2019-02-13 16:17  伟大的厨师  阅读(3428)  评论(0编辑  收藏  举报