在把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上面一放控件,關閉時程序就崩潰。
