Документация описывает эти поведения в windows:
- Окно, находящееся в собственности, всегда находится над своим владельцем в z-порядке.
- Система автоматически уничтожает собственное окно, когда его владелец уничтожается.
- Собственное окно скрывается, когда его владелец свернут.
Я наблюдаю первое и третье поведение работать точно так, как описано, но я еще не заметил второй. Механизм уничтожения автоматов c кажется непрозрачным, поэтому я не знаю, как его отладить. Соответствующее сообщение (WM_QUIT
, WM_DESTROY
, WM_NCDESTROY
) не отправляется на сообщение l oop принадлежащего окна после закрытия / уничтожения окна владельца, поэтому я также не уверен, как бы я справился это поведение.
Стоит отметить, что я могу вручную уничтожить собственное окно в ответ на уничтожение окна владельца, используя прослушивание событий для EVENT_OBJECT_DESTROY
. Тем не менее, это оставляет у меня кислый вкус во рту, так как это похоже на обход хитрой ошибки в моем коде.