CPropertySheet的DestroyWindow问题

jackfeige 2009-02-07 04:47:41

m_sheet.DestroyWindow();
m_page1.m_psp.dwFlags |= PSP_USETITLE;
m_page1.m_psp.pszTitle = _T("1");
m_page2.m_psp.dwFlags |= PSP_USETITLE;
m_page2.m_psp.pszTitle = _T("2");
m_sheet.AddPage(&m_page1);
m_sheet.AddPage(&m_page2);
m_sheet.Create(pLeft, WS_CHILD | WS_VISIBLE, WS_EX_CONTROLPARENT);

为什么CPropertySheet执行DestroyWindow后m_page1和m_page2还在m_sheet内,
导致重复运行以上代码则属性页越来越多

有什么解决方法吗?
试过

m_sheet.RemovePage(&m_page1);
m_sheet.RemovePage(&m_page2);

没效果
...全文
50 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackfeige 2009-02-07
  • 打赏
  • 举报
回复
结贴给分!
liuzxchina 2009-02-07
  • 打赏
  • 举报
回复


int nCount = m_sheet.GetPageCount();
for (int i = nCount - 1; i >= 0; i--)
{
m_sheet.RemovePage(i);
}

jackfeige 2009-02-07
  • 打赏
  • 举报
回复
我把视图静态拆分成了CTreeView和CView两个窗体,然后通过点击不同的Tree在CVIEW内显示不同的内容,其中一个就是显示一个属性页
hityct1 2009-02-07
  • 打赏
  • 举报
回复
具体怎么用的?RemovePage好使。

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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