Неверный HWND для родителя - PullRequest
2 голосов
/ 08 ноября 2010

Возможно ли иметь действительный HWND с действительным родителем, а затем родитель становится недействительным, а ребенок не становится недействительным?

Ответы [ 2 ]

2 голосов
/ 08 ноября 2010

Нет, см. Документацию для DestroyWindow:

Если указанное окно является родительским или оконным владельцем, DestroyWindow автоматически уничтожает связанный дочерний или принадлежащий ему окно, когда оно разрушает родительское или родительское окно. Функция сначала уничтожает дочерние или собственные окна, а затем разрушает родительское или родительское окно.

0 голосов
/ 08 ноября 2010

Только если вы сначала позвоните SetParent в дочернем окне.DestroyWindow выведет окно и все его текущие дочерние окна.

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

...