У меня есть приложение с довольно большим количеством окон, каждый из которых отличается от класса CDialog
.MFC: кнопка закрытия окна нажата; оконный объект не разрушен
Мое приложение отлично работало в течение многих лет, называя delete this
от PostNcDestroy()
, но теперь, когда я оглядываюсь, я не вижу никаких доказательств, которые бы ни были правильными или необходимыми. Каков правильный способ избавиться от моего CDialog
-subclassed объекта?
Как вы создаете ваши окна? Показать код. –
> Как вы создаете свои окна? Показать код. У меня есть фреймворк с заводским методом, который открывает окна с именем класса в тексте. Существует общий базовый класс, основанный на CDialog, который, в свою очередь, выводит все мои окна. (Он поддерживает такие вещи, как сериализация рабочей области, позволяя пользователям настраивать, как будут устанавливаться окна при первоначальном открытии, перемещение элементов управления для изменения размера окна и т. Д.). Но в конечном итоге он просто вызывает новый класс. Этот базовый класс вызывает Create() с идентификатором ресурса подкласса. Мне интересно, является ли Create() перед конструкциями подкласса проблемой. –