2013-05-09 139 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(索引)。這將從您的選項卡控件中刪除選項卡。