2009-11-30 5 views
0

Что произойдет, если мы подклассируем диалоговое окно и диалоговое окно Windows?Должен ли мы добавить код запрещенного кода во время разрушения диалога?

Сценарий заключается в том, что я подклассифицирую диалог, и приложение может запускать множество экземпляров этого диалогового окна.

Нужно ли добавлять код запрета на все диалоги в своей логике уничтожения.

Я думаю, что когда диалоги закрываются, нет необходимости отключать их, потому что диалоги уже уничтожены.

+0

Что вы подразумеваете под unsubclass? –

ответ

0

Если вы используете подклассу экземпляра (SetWindowLongPtr), то с тех пор, как при разрыве окна не имеет значения, какой WndProc он использует, он все равно исчезнет.

Если вы используете глобальные подклассы (SetClassLongPtr), то это, вероятно, будет хорошая идея, чтобы удалить подкласс когда последних подклассами окна закрыто (т.е. не в окно), так что любые будущие окна, созданные с этим классом не получите подкласса - если это не то, что вы хотите, конечно.

0

Предполагая, что вы говорите прямо Win32 API, то да. Хотя имейте в виду, что если у вас есть какие-либо ресурсы, которыми вы управляете вручную, вы должны были их убрать в сообщении WM_CLOSE.