2010-06-04 30 views
3

可以說,在一個對話框中,我們動態地創建一個可變數目CWnds的......像創建一個和每個用戶做一些事情/MFC:刪除動態創建的CWnd對象

一些僞代碼時註冊一個CButton。 ..

class CMyDlg : public CDialog 
{ 
vector<CWnd *> windows; 

void onClick() 
{ 
    CButton *pButton = new CButton(...); 
    //do other stuff like position it here 
    windows.push_back(pButton); 
} 
} 

難道我需要明確地刪除它們或將MFC做呢?如果必須,它是否會像平常一樣在析構函數中,或者是否有任何特殊的東西來避免打破MFC ...確保在HWND仍在使用時不刪除對象,例如?

回答

3
CButton *pButton = new CButton(...); 

這些是C++對象,需要明確刪除。 (主框架窗口和視圖自毀)。

您可以參考詳細的答案(由我)Destroying Window Objects

+0

感謝您的鏈接,這兩個:) – 2010-06-04 10:55:47