2013-05-09 202 views

回答

1

当您单击关闭按钮时,WM_CLOSE消息被发送到在初始化过程中在AddTab中使用的窗口。

所以,在子窗口中,添加一个WM_CLOSE消息处理程序,做这样的事情:

void CMyTabWindow::OnClose() 
{ 
    // nb - must be created with the tab ctrl as parent 
    CMFCTabCtrl *pTab = static_cast<CMFCTabCtrl*>(GetParent()); 
    pTab->RemoveTab(pTab->GetActiveTab()); 
} 
+0

再次感谢..你是一个真正的savier ...将标签对象也删除了?.. – 2013-05-09 14:59:52

+0

@Zeus - 我的荣幸 - 在我的测试中,它看起来像所有的东西都被正确地销毁了,但无论如何都要仔细检查。 – 2013-05-09 15:10:43

+0

我有一个问题。当动态添加和删除选项卡时,我将添加的选项卡对话框保存在矢量中。但是,我怎样才能从矢量中删除封闭的选项卡对话框。任何建议?? – 2013-05-09 15:18:40

0

尝试用CTabCtrl上的DeleteItem(索引)。这将从您的选项卡控件中删除选项卡。