DestroyWindow(HWND Child) в деструкторе класса
От: hockfan  
Дата: 13.08.08 07:42
Оценка:
У меня есть класс типа которые сам регистрирует дочернее окно по переданному родительскому идентификатору.
Обработчик сообщений для класса статическая функция-член этого класса.

Так вот глюк такой что в деструкторе класса при вызове
DestroyWindow(hWnd); //где hwnd идентификатор дочернего окна
выгружается всё и родительское окно в том числе. Идентификатор окна точно свой дочерний.
Может я что -то неправильно делаю? Или неправильно вообще поступаю?
Re: DestroyWindow(HWND Child) в деструкторе класса
От: hockfan  
Дата: 13.08.08 08:39
Оценка:
Здравствуйте, hockfan, Вы писали:

H>У меня есть класс типа которые сам регистрирует дочернее окно по переданному родительскому идентификатору.

H>Обработчик сообщений для класса статическая функция-член этого класса.

H>Так вот глюк такой что в деструкторе класса при вызове

H>DestroyWindow(hWnd); //где hwnd идентификатор дочернего окна
H>выгружается всё и родительское окно в том числе. Идентификатор окна точно свой дочерний.
H>Может я что -то неправильно делаю? Или неправильно вообще поступаю?

Кажется сам начинаю понимать что скорее всего некорректно вызывается WM_DESTROY WNDPROC на не существующий уже класс. надо будет покопаться в проверках.
Re: DestroyWindow(HWND Child) в деструкторе класса
От: hockfan  
Дата: 14.08.08 06:24
Оценка:
Всем спасибо! Вопрос решен! Проблема была станадртной. Забыл после просто копи-паста удалить postquitmessage из обработчика WM_DESTROY
Re[2]: DestroyWindow(HWND Child) в деструкторе класса
От: dcb-BanDos Россия  
Дата: 14.08.08 15:21
Оценка: :))
Здравствуйте, hockfan, Вы писали:

H>Всем спасибо! Вопрос решен! Проблема была станадртной. Забыл после просто копи-паста удалить postquitmessage из обработчика WM_DESTROY


Вот человек, сам вопрос задал, сам два раза ответил еще и всем спасибо пожелал
Молодец, чтоб все такие культурные были
Ничто не ограничивает полет мысли программиста так, как компилятор.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.