"ASSERT(pWnd->m_hWnd == NULL); "
是说 Create 只能一次, 在 下次 Create 前必须 
1. DestroyWindow
2. Detach  (window)

解决方案 »

  1.   

    在m_tab->DeleteAllItems();后面加了一句int m=m_tab->GetItemCount();
    监视m确实是零,deleteallitem应该没问题
      

  2.   

    在m_tab->DeleteAllItems();后.重新Add新的.
      

  3.   

    我在show函数里InsertItem;       m_st.Create(IDD_St,m_tab);应该也行吧
    会不会跟这个语句有关m_st.Create(IDD_Str,m_tab);?
    求指点
      

  4.   

    我觉得是不是DeleteAllItems只是去掉了索引,但是create的标签页并没有因为DeleteAllItems而改变
      

  5.   

    哪些Create()创建之前先判断一下GetSafeHwnd()是否为NULL,如果为NULL,就调用Create函数,否则就不调用。
      

  6.   

    把create转移到了onupdate里面,用了一个if,确保只执行第一次,但是还是不行,执行完show1之后执行show2根本就没变化,而且新的标签控件切换标签也不成功(断点测试,执行了切换标签的函数)
      

  7.   

    把create转移到了onupdate里面,用了一个if,确保只执行第一次,但是还是不行,执行完show1之后执行show2根本就没变化,而且新的标签控件切换标签也不成功(断点测试,执行了切换标签的函数)
    刚才又试了一试,其实执行完show1之后执行show2是有变化的,标签的对话框内容确实换了,切换标签也成功了。但是好像表面盖了这么一层一样,显示是原来的,但是根据表面的控件可以判断确实是换了的,能帮忙看看这是怎么回事吗