MFC: удаление динамически созданных объектов CWnd - PullRequest
3 голосов
/ 04 июня 2010

Допустим, в диалоге мы динамически создаем переменное число CWnds ... как создание и регистрация 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 еще используются, например?

1 Ответ

3 голосов
/ 04 июня 2010
CButton *pButton = new CButton(...);

Это объекты C ++, которые необходимо явно удалить. (Где окна основного кадра и виды самоуничтожаются).

Вы можете сослаться на подробный ответ (мной) Уничтожение оконных объектов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...