2010-06-04 58 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