Должны ли мы добавить код неподкласса во время уничтожения диалога? - PullRequest
0 голосов
/ 30 ноября 2009

Что произойдет, когда мы создадим подкласс окна и диалоговое окно закроется?

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

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

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

Ответы [ 2 ]

0 голосов
/ 30 ноября 2009

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

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

0 голосов
/ 30 ноября 2009

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

...